dry-types
Type system for Ruby supporting coercions, constraints and complex types like structs, value objects, enums etc