Implement Tagging and Undefined data types