After Wikipedia, if a function is pure, then:[it]  always evaluates the same result value given the same argument value(s). So: if a function, let's call it f, calls another function, g, then it's behavior clearly depends on the structure of the function g. Should f take g as an argument in order to be pure?
Should a pure function take all of the functions it calls as arguments?
functional programming