AO
Size: a a a
AO
🚀🚀
AO
AO
AO
🚀🚀
NF
AO
AO
NF
// U.ts
type U = { a: A, b: B }
// fA.ts
let fA = (u: U) => u.a
// fB.ts
let fB = (u: U) => u.b
// fB2.ts
let fB2 = (u: U) => u.b
// U.ts
type U = AU & BU
type AU = { a: A }
type BU = { b: B }
// fA.ts
let fA = (u: AU) => u.a
// fB.ts
let fB = (u: BU) => u.b
// fB2.ts
let fB2 = (u: BU) => u.b
// U.ts
type U = AU & BU
// BU.ts
type BU = BU1 & BU2
// fA.ts
type AU = { a: A }
let fA = (u: AU) => u.a
// fB.ts
type BU1 = { b: B }
let fB = (u: BU1) => u.b
// fB2.ts
type BU2 = { b: B }
let fB2 = (u: BU2) => u.b
AO
AO
AO
AO
NF
NF
NF
AA
NF
NF