Make set() a functor; some progress with asum()