mastrost wrote: > So why is this code accepted by the compiler? I'm not sure whether it's intentional, but a pure function is correct for mutable input as well as invariant input (barring threading issues), so this avoids code duplication.