https://medium.com/@kardaniyagnik/pure-functions-and-side-effects-in-javascript-common-interview-questions-7e9db2487b91