I regret this pattern of mixing in tons of implicit conversions. Can we instead do something like putting these is an object, FunctionImplicits, and people can opt in to this?

I'm really nervous with how this will interact with the typed API if we turn it on for everyone by default.