referential transparency: An expressions is referentially transparent if it can be replaced with its value and not affect the program (and vice versa) </>