Data constructors type checking