inductive tree (A : Type) : Type := node : A → forest A → tree A with forest (A : Type) : Type := nil : forest A, cons : tree A → forest A → forest A check tree.{1} check forest.{1} check tree.rec.{1 1} check forest.rec.{1 1} print "===============" inductive group : Type := mk_group : Π (carrier : Type) (mul : carrier → carrier → carrier) (one : carrier), group check group.{1} check group.{2} check group.rec.{1 1}