anchor.diff:      match CommandLine.Parser.Default.ParseArguments<Options> argv with
       | :? Parsed<Options> as parsed -> mainWithOptions parsed.Value
       | :? NotParsed<Options> as notParsed -> 
  -        printfn "failure: %A" notParsed.Errors
           2
       | _ -> 
           printfn "parse result of unknown type"
  
positive.code:                                 |> Pretty.Types.commaSep ]
      | Other e -> Pretty.Types.String e
  
  /// Pretty-prints a Chessie result, given printers for the successful
  /// case and failure messages.
  let printResult pOk pBad = 
      either (pairMap pOk pBad >> function 
              | (ok, []) -> ok
              | (ok, ws) -> 
                  Starling.Pretty.Types.vsep [ ok
                                               VSkip
                                               Separator
                                               VSkip
                                               headed "Warnings" ws ]) (pBad >> headed "Errors")
  
  /// Shorthand for the HSF stage.
  let hsf = bind (Starling.Horn.hsfModel >> mapMessages Error.HSF)
  
negative.code:         if opts.raw then (sprintf "%A" >> Starling.Pretty.Types.String)
                      else printResponse opts.showModel
      printResult pfn (List.map printError) starlingR
      0
  
  [<EntryPoint>]
  