adamc@794: datatype t = datatype Basis.list adamc@794: adamc@794: val show : a ::: Type -> show a -> show (list a) adamc@794: adamc@794: val rev : a ::: Type -> t a -> t a adamc@794: adamc@794: val mp : a ::: Type -> b ::: Type -> (a -> b) -> t a -> t b adamc@794: adamc@796: val mapX : a ::: Type -> ctx ::: {Unit} -> (a -> xml ctx [] []) -> t a -> xml ctx [] []