we have filter, we have predicate, we have function... we should really consolidate the types around this stuff.