anchor.diff:              printer.PrintArray(nodes, (fun p x -> p.Print(x)), (fun p -> p.Print(", ")))
   
           member printer.PrintCommaSeparatedArray(nodes: Expression array) =
  -            printer.PrintArray(nodes, (fun p x -> p.SequenceExpressionWithParens(x)), (fun p -> p.Print(", ")))
  +            printer.PrintArray(nodes, (fun p x -> p.Print(x)), (fun p -> p.Print(", ")))
   
   
           // TODO: (super) type parameters, implements
  
positive.code:             printer.Print(expr)
              printer.Print(")")
  
          member printer.SequenceExpressionWithParens(expr: Expression) =
              match expr with
              | SequenceExpression(_) -> printer.WithParens(expr)
              | _ -> printer.Print(expr)
  
          /// Surround with parens anything that can potentially conflict with operator precedence
          member printer.ComplexExpressionWithParens(expr: Expression) =
              match expr with
  
negative.code:                 | Some e ->
                      printer.Print(" = ")
                      if canConflict then printer.ComplexExpressionWithParens(e)
                      else printer.Print(e)
                  if i < declarations.Length - 1 then
                      printer.Print(", ")
  
  