Implemented isSupersetOf and intersects

Replaced the naive implementation of isSupersetOf and intersects with an
implementation that does not create any objects and cuts the evaluation
short.

Fixes #1