Inductive data type