adamc@397: datatype list t = Nil | Cons of t * list t adamc@397: adamc@397: val length : t ::: Type -> list t -> int adamc@397: adamc@397: val rev : t ::: Type -> list t -> list t