Implement Data deriving and type check Data constraints.