1 2 3 4 5 6 7 8 9 10 11
signature S = sig type t val zero : t end structure S : S = struct type t = int val zero = 0 end type t = S.t val zero : t = S.zero