toolz is implemented in three parts:
* itertoolz, for operations on iterables.
  Examples: groupby, unique, interpose,
* functoolz, for higher-order functions.
  Examples: memoize, curry, compose
* dicttoolz, for operations on dictionaries.
  Examples: assoc, update-in, merge.

These functions come from the legacy of functional languages for list
processing. They interoperate well to accomplish common complex tasks.
