This small library defines data types
Tup9 for homogeneous tuples of small size (both strict and lazy),
and various instances for them, most notably
Applicative. We also have a
Tup type class:
class Tup f where tupSize :: f a -> Int tupToList :: f a -> [a] tupFromList :: [a] -> f a tupProxy :: f a -> Proxy a ...
Also included is a very simple preprocesszor
tuplepp which translates
(Tup3 a b c).