Summary: Top-level module for this library.
By importing this module, the user is able to use all the generic
functionality. The user is only required to provide an instance of
Regular for the datatype.