Sharing analysis and uniqueness typing are static analyses that aim at determining which of a program's objects are to be used at most once. There are many commonalities between these two forms of usage analysis. We make their connection precise by developing an expressive generic analysis that can be instantiated to both sharing analysis and uniqueness typing. The resulting system, which combines parametric polymorphism with effect subsumption, is specified within the general framework of qualified types, so that readily available tools and techniques can be used for the development of implementations and metatheory. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Constructs and Features--Polymorphism; F.3.2 [Logics and Meanings of Programs]: Semantics of Programming Languages--Program analysis General Terms Languages, Theory Keywords sharing analysis, uniqueness typing, type and effect systems, qualified types