diamond1.lean:11:40-11:45: error: parent field type mismatch, field 'a' from parent 'Baz' has type α → α : Type but is expected to have type α : Type structure Foo (α : Type) : Type number of parameters: 1 parents: Foo.toBar : Bar (α → α) Foo.toBaz : Baz α fields: Bar.a : α → α Bar.b : Nat → α → α Baz.c : Bool → α Baz.d : Nat constructor: Foo.mk {α : Type} (toBar : Bar (α → α)) (c : Bool → α) (d : Nat) : Foo α field notation resolution order: Foo, Bar, Baz def f : Nat → Foo Nat := fun x => { a := fun y => x + y, b := fun x1 x2 => x1 + x2, c := fun x_1 => x, d := x } diamond1.lean:27:47-27:52: warning: field 'a' from 'Baz' has already been declared