https://medium.com/@atharva__shukla/the-intuitive-thought-process-behind-designing-the-recursive-string-length-function-848c0290bae6