anchor.diff:                      p.
                           Case blocks have the same ambiguities as if blocks when it comes to
                           nested case blocks. If a case block follows another case block as
  -                        the ending case, it doesn't need to be wrapped in parenthesis. Otherwise,
  +                        the ending case, it doesn't need to be wrapped in parentheses. Otherwise,
                           it does.
                       h3 Variables
                       p.
  
positive.code:                         expressions for side-effects while only returning the value of the last
                          expression.
                      p.
                          Parenthesis are typically allowed anywhere, surrounding an expression.
                          But outside of the <code>in ... end</code> block of a let block, you will need to
                          surround a compound expression in parenthesis to disambiguate:
                      pre
                          code.
                              > val i = (1 + 2; 8);
  
negative.code:                         Some Standard ML implementations (including MLton, but not Poly/ML)
                          additionally have support for vector literals (e.g. <code>\#[1, 2, 3]</code>)
                          as part of Successor ML, informally agreed upon extensions to the standard.
                      h4 Parentheses, semi-colons and compound expressions
                      p.
                          Semi-colons are mostly optional, except for in compound expressions.
                          But semi-colons are often necessary to disambiguate the end of a function
  