some extensions to functional/predicates