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 inductive Foo : Type → Type constructors: Foo.mk : {α : Type} → Bar (α → α) → (Bool → α) → Nat → Foo α def f : Nat → Foo Nat := fun x => { toBar := { a := fun y => x + y, b := fun a a_1 => a + a_1 }, c := fun x_1 => x, d := x } diamond1.lean:27:47-27:52: warning: field 'a' from 'Baz' has already been declared