Minor code cleanup.
Now working with nicely generalized types. This
works by having two associated types Fun1 and Fun2
for functions of 1 and 2 arguments respectively.
This allows us to lift the function to be over Exp
or simple values. This makes the whole situation nice.

Now we need to apply the same kind of associated types
to RunGrid.