fixing bug #33 (better inversion axioms for data types, including GADTs)