Introduces a new method, "distribute" which accepts list of Functions and returns a function that when called, maps the arguments over the list of Functions and returns the resulting array.

Renames the other "distribute" function to "apply".
Introduces "pull", a function that calls a getter or function with arguments for an instance when invoked.
Introduces "bindSetProp", a function that binds an instance and a setter field and returns a function that when called with a value, sets the value into the field of the instance.