adamc@325: con mapTT (f :: Type -> Type) = fold (fn nm t acc => [nm] ~ acc => adamc@325: [nm = f t] ++ acc) [] adamc@325: adamc@325: fun compose (t1 ::: Type) (t2 ::: Type) (t3 ::: Type) (f1 : t2 -> t3) (f2 : t1 -> t2) (x : t1) = f1 (f2 x) adamc@325: adamc@325: fun txt (t ::: Type) (ctx ::: {Unit}) (use ::: {Type}) (sh : show t) (v : t) = cdata (show sh v)