Add `collection_map` and some basic theory about it.

This makes some proress on #21. Still, the question remains if a more
generic solution exists.
8 jobs for master in 18 minutes and 49 seconds (queued for 1 second)