The code looks fine to me.
The Last monoid is useful when parsing command line flags and you want the last mention of a flag to have precedence. You can further extend this to allow for default values of flags and flag definitions in config files. See Duncan's explanation of how this is used in Cabal:
http://www.mail-archive.com/cabal-devel@haskell.org/msg01492.htmlCheers,
Johan