untested code, but wanted to get it saved before heading out

The return type for CallFunction is deduced from
decltype(ReturnType::Retrieve(mL))

I think this should work? Something else has to be done for void return
type though. Ie. no return params