Currently tuple/record accesses require the base expression type to be a "unique" tuple (record). We want to relax this to allow accessing from union types like let r: {f: Int, g: Bool} | {h: Nat, f:Int} = ...; then doing r.f should be supported.
This also relates to optional spreads and, later, project/update operations.
Currently tuple/record accesses require the base expression type to be a "unique" tuple (record). We want to relax this to allow accessing from union types like
let r: {f: Int, g: Bool} | {h: Nat, f:Int} = ...;
then doingr.f
should be supported.This also relates to optional spreads and, later, project/update operations.