Looking into the Haskell/JS hybrid Roy, and one of the proposed features are lenses. They are basically sugar over attribute getters and setters, and look like this:
set .x 3 {x: 1, y: 2} == {x: 3, y: 2}
get .name {title: "Mr.", name: "Bob"} == "Bob"
This is much like Python's getattr and setattr, except that these are static (no