anchor.diff:  //    printfn "%A" end_itlistResult
       end_itlistResult |> assertEqual result
   
  -(* reserved_words  tests *)
  -
   (* unparse_as_binder  tests *)
   (* parse_as_binder  tests *)
   (* parses_as_binder  tests *)
  
positive.code:         | ex ->
              Assert.IsInstanceOf<System.IndexOutOfRangeException>(ex)
  
  (* issep tests *)
  
  [<Test>]
  let ``function issep`` () =
      // Note: The OCaml char range is 0-255, but in NHol with F# it is 0..65535
      // We expect System.IndexOutOfRangeException for characters with values of 256 or greater.
      let inline charcode (s : string) = int s.[0]
  
negative.code:         | ex ->
              Assert.IsInstanceOf<System.IndexOutOfRangeException>(ex)
  
  let private issepValues : (string * bool)[] = [|
      (
          // idx 0
          // printer.issep.01
          // empty string
          // throws System.IndexOutOfRangeException
          "",
          false  // dummy value
      );
      (
          // idx 1
          // printer.issep.02
          // empty string using the empty string literal
          // throws System.IndexOutOfRangeException
          String.empty,
          false  // dummy value
      );
      (
          // idx 2
          // printer.issep.03
          // string with two characters, both are not separator kind
          "aa",
          false
      );
      (
          // idx 3
          // printer.issep.04
          // string with two characters, first character is separator kind, second character is not separator kind
          ",a",
          true
      );
      (
          // idx 4
          // printer.issep.05
          // string with two characters, first character is not separator kind, second character is separator kind
          "a,",
          false
      );
      (
          // idx 5
          // printer.issep.06
          // string with two characters, both same separator kind
          ";;",
          true
      );
      (
          // idx 6
          // printer.issep.07
          // string with two characters, both different separator kind
          ",;",
          true
      );
      |]
  
  [<Test>]
  [<TestCase(0, TestName = "printer.issep.01", ExpectedException=typeof<System.IndexOutOfRangeException>, ExpectedMessage = "Index was outside the bounds of the array.")>]
  [<TestCase(1, TestName = "printer.issep.02", ExpectedException=typeof<System.IndexOutOfRangeException>, ExpectedMessage = "Index was outside the bounds of the array.")>]
  [<TestCase(2, TestName = "printer.issep.03")>]
  [<TestCase(3, TestName = "printer.issep.04")>]
  [<TestCase(4, TestName = "printer.issep.05")>]
  [<TestCase(5, TestName = "printer.issep.06")>]
  [<TestCase(6, TestName = "printer.issep.07")>]
  let ``function issep`` idx =
      let (word, _) = issepValues.[idx]
      let (_, result) = issepValues.[idx]
      let issepResult = NHol.printer.issep word
  //    printfn "%A" end_itlistResult
      issepResult |> assertEqual result
  
  (* isbra tests *)
  
  [<Test>]
  let ``function isbra - test all single char values`` () =
      // Note: The OCaml char range is 0-255, but in NHol with F# it is 0..65535
      // We expect System.IndexOutOfRangeException for characters with values of 256 or greater.
      let inline charcode (s : string) = int s.[0]
  