qualified types and constraints