anchor.diff:          | ScanSuccess objResults ->
               let results =
                   (objResults, advancedFormatters)
  -                ||> Seq.map2 (fun r a -> match a with Some p -> p.Parser (string r) | None -> ParseSucceeded r)
  +                ||> Seq.map2 (fun r a -> match a with Some p -> p.Parser context (string r) | None -> ParseSucceeded r)
                   |> Seq.toArray
               match results |> Seq.choose (fun r -> match r with ParseError error -> Some error | _ -> None) |> Seq.tryHead with
               | Some error ->
  
positive.code:                 ScanSuccess (results |> Array.map (function ParseSucceeded res -> res | ParseError _ -> failwithf "Should not happen here"))
          | _ as s -> s
  
      let trySscanfExt advancedScanners opts (pf:PrintfFormat<_,_,_,_,'t>) s : 't option =
          //raise <| FormatException(sprintf "Unable to scan string '%s' with regex '%s'" s regexString)
          match sscanfExtHelper advancedScanners opts pf s with
          | ScanSuccess matches -> toGenericTuple matches |> Some
          | _ -> None
  
      let sscanfExt advancedScanners opts (pf:PrintfFormat<_,_,_,_,'t>) s : 't =
          sscanfExtHelper advancedScanners opts pf s
          |> handleErrors s
  
      // some basic testing
      //let (a,b) = sscanf "(%%%s,%M)" "(%hello, 4.53)"
  
negative.code:     let private findSpecifiers = Regex(@"%(?<formatSpec>.)({(?<inside>.*?)})?")
  
      // Extends the syntax of the format string with %A{scanner}, and uses the corresponding named scanner from the advancedScanners parameter.
      let private sscanfExtHelper context (advancedScanners:AdvancedScanner<'Context> seq) opts (pf:PrintfFormat<_,_,_,_,'t>) s : ScanResult =
          let scannerMap =
              advancedScanners
              |> Seq.map (fun s -> s.Name, s)
  