http://hackage.haskell.org/packages/archive/HList/0.2.3/doc/... checks for element occurencies. Records has HasLabel predicate. You can find more examples like that there.