This extended abstract describes a small typed pattern calculus that is able to support four styles of polymorphism, namely, data (or parametric) polymorphism [6], structure polymorphism [4], path polymorphism and pattern polymorphism [3] (examples below). These combine to support generic queries, able to act on relational data [5], XML data [2] and terms of abstract data type in a uniform way....