anchor.diff:  type Result<'T,'TError> = 
            | Ok of 'T 
            | Error of 'TError
  +module Result =
  +    let map f inp = match inp with Error e -> Error e | Ok x -> Ok (f x)
  +    let bind f inp = match inp with Error e -> Error e | Ok x -> f x
   
   module Program=
       let surfaceAreaCli file=
  
positive.code:                 |> List.toArray
              
              Error (String.Join(Environment.NewLine, errors) )
  
  
      [<EntryPoint>]
  
negative.code:                 (SurfaceArea.get assembly)
                  |> Json.serialize
                  |> Json.formatWith JsonFormattingOptions.Pretty
                  |> Ok
              | None, Some ( original,new_), None ->
                  getDiff original new_
                  |> Result.map (fun diff->
                      diff
                      |> Json.serialize
                      |> Json.formatWith JsonFormattingOptions.Pretty
                      ) 
              | None, None, Some (original,new_) ->
                  getDiff original new_
                  |> Result.map (fun diff->
                      let magnitude = Compare.packageChangeMagnitude diff
                      magnitude.ToString()
                      ) 
               | _, _,_ ->
                  Error(parser.PrintUsage())
          |> writeResult