Complicating things so fns can stand alone and splice the grammar