I have seen here that:
From the function definition you can see that it returns a value of type
OwnedToken how is this value type different from
address type? Why not just say the return type is an address?