This package defines classes which describe what subset of a type is valid as ASCII, as well as a type constructor representing a value of a superset that is known to be valid ASCII. It also defines the `Lift` class, which provides a polymorphic lift operation that can be used to convert characters and strings into types that support a larger set of characters.