adamc@48: extern structure Lib : sig adamc@48: type t adamc@49: type u adamc@48: val x : t adamc@50: val y : u adamc@50: val f0 : {} -> u adamc@49: val f1 : t -> t adamc@49: val f2 : t -> u -> t adamc@48: end adamc@48: adamc@48: type t' = Lib.t adamc@48: val x' : t' = Lib.x adamc@50: val f0' = Lib.f0 adamc@49: val f1' = Lib.f1 adamc@49: val f2' = Lib.f2 adamc@48: adamc@48: structure Lib' = Lib adamc@48: adamc@48: type t'' = Lib'.t adamc@48: val x'' : t'' = Lib'.x adamc@50: adamc@50: val main = f2' (f1' x') (f0' {})