Evolution of the implementation for return and inout parameters