refinements for generic type declares