filter method

ISet<A> filter(
  1. bool predicate(
    1. A a
    )
)

Implementation

ISet<A> filter(bool predicate(A a)) => foldLeft(this, (acc, a) => predicate(a) ? acc : acc.remove(a));