Mary Rose Cook cuts through it with her definition, "Functional code is characterized by one thing: the absence of side effects. It doesn't rely on data outside the current function, and it doesn't change data that exists outside the current function."6