val page = fn p :: (Type * Type) => fn f : p.1 -> string => fn x : p.1 => {cdata (f x)} val page_string = page [(string, int)] (fn x => x) val main : unit -> page = fn () => Hi