This makes getting the function fields out of the visitor less cumbersome and more efficient (no take/drop).