Refactoring of files and addition of some Stream functions from chapter 5 of fpinscala