generalize AssocSetLens over different coll types

(finally)