adamc@78: signature S = sig adamc@78: type t adamc@78: val x : t adamc@78: end adamc@78: adamc@78: structure M : S = struct adamc@78: val x = 0 adamc@78: end adamc@78: adamc@78: signature S = sig adamc@78: con r :: {Type} adamc@78: val x : $r adamc@78: end adamc@78: adamc@78: structure M : S = struct adamc@78: val x = {A = 0, B = "Hi"} adamc@78: end adamc@78: adamc@78: signature S = sig adamc@78: type t adamc@78: con r :: {Type} adamc@78: val x : t -> $r adamc@78: end adamc@78: adamc@78: structure M : S = struct adamc@78: val x = fn v : int => {A = 0, B = "Hi"} adamc@78: end