spike: Introduce a FunctionInvocation constructor to avoid special casing [<fn>, ...] arrays and implement both 'when called with' and 'when passed as parameters to' middle-of-the-rocket assertions.
Hmm, how about just doing away with the functionInvocation type and just provide two "adverbial" assertions that produce the return value.
WIP
Split up tests.