#lang planet chongkai/sml functor F(A : sig type t val pr : t -> string end) = struct datatype k = A of A.t fun pr (A t) = "A(" ^ A.pr t ^ ")" end