Adds "args", a function which returns the arguments its called with as an array. It's like identity for arguments.
Adds "distribute", a function which wraps a polyadic function and replaces it with a function that accepts a single Array that when invoked, calls the polyadic function with values in the Array as arguments.
Adds definition to the _ variable such that the AVM won't cast it to false-y values.
Adds "newInstance_", a version of newInstance that can be partially applied.
adds "guard", a function that guards a function from being invoked with too many arguments without you having to do know how many arguments the function accepts.
Updates partial to work with the new _ definition. Passing "undefined" to the initial call and the partially applied function still works, so I believe this change is backwards compatible.
Adds "permutate", a function which returns an Array of all the possible permutations with the number of combinations supplied. permutate(array, 2) returns the cross-product, etc.
Updates "sequence" to allow a return value of _, indicating the return value memo shouldn't be stored, the prior return values should be passed on to the next Function in the sequence.
Updates "inject" to allow for null seeds, indicating the seed should be taken from the head of the iterable.
Updates "pluck" to allow for arguments to be passed to the plucked Function invocation.
Adds "areEqual", a function which equates two or more values via strict equality.
Adds "ifElse", a function which when invoked, invokes one of two functions based on a condition function.
Adds "tap", a function that accepts a function to run and a return value, and returns a function that when invoked, invokes the original function and returns the supplied return value.