adam@1582: type t = {A : int, B : float, C : string} adam@1582: type u = {A : int, C : string, D : bool} adam@1582: adam@1582: fun f (x : t) = x adam@1582: fun g (x : u) = f x adam@1582: adam@1582: fun h [ts] [ts ~ [A]] (r : $([A = int] ++ ts)) : $([A = int, B = float] ++ ts) = r