Doto

Closes #567, #569 ; API compatible with Clojure's `doto`