state and no side effects – or impure, which while recommending that developers avoid state, still allow their use. REFERENTIAL TRANSPARENCY A property of systems that implies that when supplied with the same inputs, a given function will always return exactly the same result. Guaranteed referential transparency removes a weakness of testing, since external state can no longer effect the validity of the test.