compiler: allow function predicate, improve rt