Cleanup "nonrec" code
Add minimal support for "with fields"
Add support for "with compare"