Structured Type Constraints for Moose