ex 4.9 code added, fix a prob in previous exercise

The problem in ex 4.6 4.7 4.8 4.9 is tha the let paramter list could be
null, and this is needed for dreving the do expression into a
combination in which the first expression is a let expression without
parameter

I don't really understand the git remote and local, why I need to pull
the remote branch when I make a amend locally