Fix the bug

  I couldn't write a grammar that had the open paren and the symbol that started
the section as separate symbols, as you frequently have optional sections in
succession, like:

  (:requirements :adl) (:types foo)

If :requirements is not present, and :types is, there will be a parse error when
the open paren and symbol are separate tokens.

  The solution was to define a new token that describe the beginning of a
section: the combination of the opening paren, and the symbol that names the
section.
Add a .ghci to make `cabal exec ghci` better