A module that converts a type into another expression that can be used in camlp4 extensions needs to have the following functions.