Remove need to explicitly cast to double

The JSON serializer will correctly coerce rational numbers into
their floating point representation
Simplify datastructure transformations
Simplify building of swap! arg function

Building one with closures is pretty good, this makes it even simpler.