I have seen here that:
Contract TokenCreator {
function createToken(bytes32 name)
public
returns (OwnedToken tokenAddress)
{
// Create a new `Token` contract and return its address.
// From the JavaScript side, the return type
// of this function is `address`, as this is
// the closest type available in the ABI.
return new OwnedToken(name);
}
// some other code
}
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?