Define interface

This adds the definition of the public interface. Comments welcome!

@neithernut 
We select entries from one set and put it into another set, where's the problem? The predicate is the  function which selects or rejects an entry!