The tagless-final style of embedding offers great modularity, extensibility and flexibility.
However, user-defined data types are awkward to handle because the built-in operations on them---construction, deconstruction and constructor tests---are not inherited from the host language.
By giving an implementation, we showed how to create a \gls{TH} function that will splice the required class definitions and view instances.
The tagless-final style of embedding offers great modularity, extensibility and flexibility.
However, user-defined data types are awkward to handle because the built-in operations on them---construction, deconstruction and constructor tests---are not inherited from the host language.
By giving an implementation, we showed how to create a \gls{TH} function that will splice the required class definitions and view instances.