def foo : A → B → B := fun a b => { x := a.x, y := b.y } def boo : A → B → B := fun a b => { x := b.x, y := b.y } def baz : A → B → C := fun a b => { toB := { x := a.x, y := b.y } } def biz : A → B → C := fun a b => { toB := b } def faz : A → C → C := fun a c => { toB := { x := a.x, y := c.y } } def fiz : A → C → C := fun a c => { toB := c.toB }