We present a novel inference algorithm for a type system featuring
subtyping and usage (annotation) polymorphism. This algorithm infers
simply-polymorphic types rather than the constrained-polymorphic types usual in such a setting; it achieves
this by means of constraint approximation. The algorithm is
motivated by practical considerations and experience of a previous
system, and has been implemented in a production compiler with
positive results. We believe the algorithm may well have applications
in settings other than usage-type inference.