Writing procedures which don't return anything, but instead mutate an object literal passed to them as an argument, required overcoming some prejudices I'd picked up. In programing jargon, procedures that change their inputs are called _impure_, and in functional programing dogma anything that causes _side effects_ is frowned upon. I'm saying "procedures" because I'm so old, Pascal was used in the CS course I did way back in the last century. Pascal made a distinction between procedures and functions, whereas in JavaScript a procedure is simply a function that doesn't end with a return statement.