https://gist.github.com/chrisgrimm/64bca66f14528cfda6d865cc2...
Essentially functools.partial is somewhat limited in terms of which arguments can be partially applied.