improve weird inductive types in 5.6 and exercises, close #615