Replace with annonymous functions
forall impl + singletonSet impl