In wikipedia\'s definition of command query separation, it is stated that
More formally, methods should return a value only if they are referentially t
These links may help