Added "functional" interfaces, filtering and predicates, along with most
important implementations.