There might be something wrong with schema

Not sure if the way I am defining rule is wrong or the dry-schema is doing it wrong when constructing the rule, here’s my rule definition

optional(:user_ids).value(Types.Instance(ActiveRecord::Relation) | Types::Array.of(Types::Coercible::Integer))

and here’s the rule generated by dry-schema

:user_ids=>"key?(:user_ids) THEN key[user_ids](type?(ActiveRecord::Relation) OR array?)"

I am expecting the generated rule will enforce each element in the array will be an integer like

:user_ids=>"key?(:user_ids) THEN key[user_ids](type?(ActiveRecord::Relation) OR (array? AND each(int?)))"