anchor.diff:      /// Maximum (inclusive) version number for the range of versions to delete
       MaxVersion  : string }
   
  +type PushOptions = {
  +    // paths to one or more packages to push to the server
  +    Packages : string list 
  +    /// if the package already exists, should this package overwrite it?
  +    ReplaceExisting : bool 
  +}
  +
   /// Option type for selecting one command
   type OctoCommand = 
   | CreateRelease of CreateReleaseOptions * DeployReleaseOptions option
   | DeployRelease of DeployReleaseOptions
   | DeleteRelease of DeleteReleaseOptions
   | ListEnvironments
  +| Push of PushOptions
   
   /// Complete Octo.exe CLI params
   type OctoParams = {
  
positive.code:     [ (optionalStringParam "server" (liftString opts.Server))
        (optionalStringParam "apikey" (liftString opts.ApiKey)) ] 
      |> List.fold (+) ""
  
  /// Maps a command to string input for the octopus tools cli.
  let commandLine command =
  
negative.code:         sprintf " delete-releases%s" (deleteCommandLine opts)
      | ListEnvironments -> 
          " list-environments"
      | Push opts -> 
          sprintf " push%s" (pushCommandLine opts)
  
  let serverCommandLineForTracing (opts: OctoServerOptions) = serverCommandLine { opts with ApiKey = "(Removed for security purposes)" }
  
  