Add support for returning struct values

This pull request is another try of #17, where the interface did not provide a type encoding parameter, thus disallowing type inference at the callee of the `willReturnStruct:` method.