functor (A : Default) -> sig type a = A.a list val default : unit -> a end