https://mgattozzi.github.io/2016/11/08/scheme-input.html see also: tail recursion notes impl notes from norvig