Implicit casts

The database server automatically resolves internal function signatures for a subtype that inherits a function from a supertype in the following two cases:
Distinct types
The database server automatically creates casts between the distinct type and source type.
Opaque types
You must create the casts to support a type hierarchy.

You must first create a cast with the CREATE IMPLICIT CAST statement for it to be used implicitly during the execution of a query. The query optimizer tries to find implicit casts when it tries to make arguments fit support and strategy function signatures.