To be honest, this is a fairly interesting toy, especially, if you consider combining this with template methods and method objects for those more complicated, heavy-weight algorithms. (I'd get angry at someone for using something like this just to map ... I don't know, print over a sequence of elements)