remove array-type functionoids

These were clunky and hard to read, and the exposed conversion function meant
that they weren't even convenient anymore.
binary-operators aren't implemented in terms of overloaded

overloaded seems a little heavyweight for something so common
f.method has a more sane interface

`(method) -> (obj) -> (args...) ->` to `(method, args...) -> (obj) ->`

`f(foo, 'bar')` is sufficient for most of the old use cases.