We present a bisimulation method for proving the contextual equivalence of packages in lambda-calculus with full existential and recursive types. Unlike traditional logical relations (either semantic or syntactic), our development is "elementary," using only sets and relations and avoiding advanced machinery such as domain theory, admissibility, and TT-closure. Unlike other bisimulations, ours is complete even for existential types. The key idea is to consider _sets_ of relations---instead of just relations---as bisimulations.