adamc@157: structure M : sig datatype t = A | B end = struct adamc@157: datatype t = A | B adamc@157: end adamc@157: adamc@158: val a = M.A adamc@158: adamc@157: datatype u = datatype M.t adamc@157: adamc@157: val a : M.t = A adamc@157: val a2 : u = a adamc@158: adamc@158: structure M2 = M adamc@158: structure M3 : sig datatype t = datatype M.t end = M2 adamc@158: structure M4 : sig datatype t = datatype M.t end = M adamc@158: adamc@158: val b : M3.t = M4.B adamc@159: adamc@159: structure Ma : sig type t end = M adamc@160: adamc@160: structure Magain : sig datatype t = A | B end = M