if we have predicates, we don't need _ and {argname} => undef messes us up