consIndex{|Char|} c = toInt c
consIndex{|String|} _ = 0
-import StdMisc, StdDebug
-
generic conses a :: [a]
-conses{|CONS|} f = map CONS f
+conses{|CONS|} f = [CONS (hd f)]
conses{|UNIT|} = [UNIT]
conses{|PAIR|} f g = []
conses{|EITHER|} f g = map LEFT f ++ map RIGHT g
conses{|{}|} _ = [{}]
conses{|{!}|} _ = [{!}]
conses{|()|} = [()]
-
+conses{|(->)|} _ _ = [const undef]