Add missing ops. Handle named fn's properly.
Simplify some logic