Currently only constructors support returns using `IndirectResult`. This should be extended to cover all the methods.