[article] add referential transparency