Type-level capability constraints for ADT validation
Define type-level capability constraints
Validate type-level constraints at compile time