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}