My 2 cents
AFAICT, the current multimap works perfectly when the number of supplied lists matches the number of parameters in the function
If this isn't true then it is broken
The case of what it should return if the numbers don't match up, is up to who ever defines the behaviour of the block
There are quite a few blocks that don't return what I'd like when pushed beyond their intended use but I don't consider them to be wrong - I just accept their current behaviour and if needs be - make a modified version of them with a different name -i.e. enhanced multimap