extra test to remind myself how *. and ?. work ;)
clean up a little
don't abbreviate Iterable type when type arg is a type parameter
lightly refactor and set Parameter of SpreadArgument