Write and register the support functions

An opaque data type needs support functions that provide casts for input and output, operator functions, cost functions, selectivity functions, operator-class functions and statistics functions. For more information about these functions, refer to Write support functions, and Extend an operator class.