Anexperimental feature to override the
Enumerable instance for any type.
This function is best described with an example:
let e1 = override $ addOverride (unary
printable) noOverride :: Enumerate T
e1 enumerates values of type
T where all characters (accessed using
Enumerable instance for
Char) are printable. Sometimes this can save
you from placing lots of
printable modifiers in your instances or
newtypes in your data type definitions.
This works for any type (not just characters). This function should typically not be used when combining enumerations (doing so might increase memory usage because the resulting enumeration is optimised). Also this only has effect on enumerations which have not already been optimised, so using override again on the result of override has no effect.