inductive types partly done