anchor.diff:          else DeterminePullRequestType <| prEvent?pull_request
   
       //--- Methods ---
  -    // Pull requests methods
  -    let ClosePullRequest (prUri : XUri) =
  -        Plug.New(prUri)
  -            .Post(Json("""{ "state" : "closed"  }""", [| new KeyValuePair<_, _>("Authorization", "token " + token.Value); new KeyValuePair<_, _>("X-HTTP-Method-Override", "PATCH") |]))
  -
  -    let QueueMergePullRequest (prUri : XUri) =
  -        let msg = String.Format("Will queue '{0}' for mergeability polling", prUri)
  -        logger.DebugFormat(msg)
  -        pollAgent.Post(prUri)
  -        DreamMessage.Ok(MimeType.JSON, "Queue for mergeability polling"B)
  -
       // Webhooks methods
       let WebHookExist repo =
           let auth = Json("", [| new KeyValuePair<_, _>("Authorization", "token " + token.Value) |])
  
positive.code:         let auth = Json("", [| new KeyValuePair<_, _>("Authorization", "token " + token.Value) |])
          JsonValue.Parse(GITHUB_API.At("repos", owner.Value, repo, "pulls").Get(auth).ToText()).AsArray()
  
      let ProcessPullRequestType prEventType =
          match prEventType with
          | Invalid i -> ClosePullRequest i
          | UnknownMergeability uri -> QueueMergePullRequest uri
          | AutoMergeable uri -> MergePullRequest uri
          | Skip -> DreamMessage.Ok(MimeType.JSON, "Pull request needs to be handled by a human since is not targeting an open branch or the master branch"B)
  
      let ProcessPullRequests prs =
          prs |> Seq.map (fun pr -> ProcessPullRequestType <| DeterminePullRequestType pr)
  
      let ProcessRepos (repos : string[]) =
          repos
          |> Seq.map (fun repo->
              try
                  logger.DebugFormat("Processing repo '{0}'", repo)
                  GetOpenPullRequests repo
              with
              | ex -> JsonValue.Parse("[]").AsArray())
          |> Seq.concat
          |> ProcessPullRequests
          
      override this.Start(config : XDoc, container : ILifetimeScope, result : Result) =
  
negative.code:                     try
                          let resp = Plug.New(prUri).Get(Json("", [| new KeyValuePair<_, _>("Authorization", "token " + token.Value) |]))
                          let pr = JsonValue.Parse(resp.ToText())
                          pr |> DeterminePullRequestType |> ProcessPullRequestType
                      with e ->
                          cache.Set(prUri, retry + 1, mergeabilityTTL)
                          logger.Debug(String.Format("Something failed, will poll '{0}' meargeability status again in '{1}'", prUri, mergeabilityTTL), e)
  