Functional programming is referential transparency.