dry-rb / dry-types Ruby 896 139 Flexible type system for Ruby with coercions and constraints dry-rb types coercion constraints