This is nice, ++ to follow
first, a suggestion - why don't you put [] around your end result map, so we can easily chain multimaps.
there's actually a lot to be said on the topic - for example, 'multimap' may not be the best name for that function.. while 'map' is List -> List ( with proviso on iterators here ), and 'reduce' is List -> Scalar, this new thing is List x List -> List.. It agrees with 'map' on the end List, but it actually provides the dimensionality reduction of 'reduce'..
now, of course, why stop here - one can imagine some sort of morphing operator multireduce(n,m) ListOfBlocks, AoAoA..A that colapses N-dim structures to M-dim ones..
but this goes into academic grounds - I can't imagine this being useful, or easily mastered thing..
lastly, what is Data::Dumper::SLC? I can't find it anywhere.. personal extension ?