Algebric data type check & test