How to Design Programs Coding along while reading "How to Design Programs". Development Run nix-shell