i've implemented "sort of" lens and traversals in cats, feedback welcome https://github.com/funcool/cats/pull/126
they turn out to be more powerful than cursor, can focus on arbitrary transformations of an atom's value
and they compose with regular fn comp
although composing lenses with a traversal yields a traversal
a thing to be aware of
i'm writing some docs right now
docs finished!