pytoolz/toolz — pull request #150 by eriknw (2014-03-20 03:09:52+00:00)
Title: Change `curry` to use `functools.partial`

`curry` instances always return other `curry` instance if the arguments are not fully applied; previously, they could sometimes return `functools.partial` instances.

The performance of calling `curry` instances is better than before, but still not as good as calling `partial`. To achieve the performance of `partial`, use `curried_func.call`.

This PR addresses the idempotency issue from #147. It does not, however, split `curry` into `class Curry/def curry` as discussed in #147 (or as indicated by the name of this branch). I think `curry` performs just fine as a single class.