considering swapping the function copy to be a wrapped apply call, instead of function string manipulation (note that the equality between functions will technically break -- may need to ditch the idea of comparing functions for equality, other than their properties)