Set prop and path

To go along with Lenses, I'd like to revisit the idea of pure setters.

Ping #398
should be:

`@sig String -> a -> {k: v} -> {k: v}`

we're not currying the objects (yet)