This is what pure means: 1. no destructive operations on parameters 2. all parameters must be guaranteed from being changed from the outside (immutable?) 2. no calls to any other callback/function/method/constructor that doesn't have the pure modifier 3. no reads from mutable values from a scope the pure function is closed over 4. no writes to values in the closed scope
This is what pure means: