Enumerable Bool  

Enumerable Char  ASCII characters 

Enumerable Double  Not a proper injection 

Enumerable Float  Not a proper injection 

Enumerable Int  

Enumerable Int8  

Enumerable Int16  

Enumerable Int32  

Enumerable Int64  

Enumerable Integer  

Enumerable Ordering  

Enumerable Word  

Enumerable Word8  

Enumerable Word16  

Enumerable Word32  

Enumerable Word64  

Enumerable ()  The unit constructor is free 

Enumerable Unicode  

Enumerable Printable  

Enumerable a => Enumerable [a]  

Enumerable a => Enumerable (Maybe a)  

Infinite a => Enumerable (Ratio a)  

Infinite integer => Enumerable (Nat integer)  

Enumerable a => Enumerable (NonEmpty a)  

(CoEnumerable a, Enumerable b) => Enumerable (a > b)  

(Enumerable a, Enumerable b) => Enumerable (Either a b)  

(Enumerable a, Enumerable b) => Enumerable (a, b)  

(Enumerable a, Enumerable b, Enumerable c) => Enumerable (a, b, c)  

(Enumerable a, Enumerable b, Enumerable c, Enumerable d) => Enumerable (a, b, c, d)  

(Enumerable a, Enumerable b, Enumerable c, Enumerable d, Enumerable e) => Enumerable (a, b, c, d, e)  
