Line 5, characters 18-27: 5 | let invalid_sv = "\u{0D800}" ;; ^^^^^^^^^ Error: Illegal backslash escape in string or character (\u{0D800}): D800 is not a Unicode scalar value Line 1, characters 18-26: 1 | let invalid_sv = "\u{D800}" ;; ^^^^^^^^ Error: Illegal backslash escape in string or character (\u{D800}): D800 is not a Unicode scalar value Line 1, characters 18-26: 1 | let invalid_sv = "\u{D900}" ;; ^^^^^^^^ Error: Illegal backslash escape in string or character (\u{D900}): D900 is not a Unicode scalar value Line 1, characters 18-26: 1 | let invalid_sv = "\u{DFFF}" ;; ^^^^^^^^ Error: Illegal backslash escape in string or character (\u{DFFF}): DFFF is not a Unicode scalar value Line 1, characters 18-28: 1 | let invalid_sv = "\u{110000} ;; ^^^^^^^^^^ Error: Illegal backslash escape in string or character (\u{110000}): 110000 is not a Unicode scalar value Line 2, characters 23-35: 2 | let too_many_digits = "\u{01234567}" ;; ^^^^^^^^^^^^ Error: Illegal backslash escape in string or character (\u{01234567}): too many digits, expected 1 to 6 hexadecimal digits Line 1, characters 21-23: 1 | let no_hex_digits = "\u{}" ;; ^^ Warning 14 [illegal-backslash]: illegal backslash escape in string. Hint: Single backslashes \ are reserved for escape sequences (\n, \r, ...). Did you check the list of OCaml escape sequences? To get a backslash character, escape it with a second backslash: \\. val no_hex_digits : string = "\\u{}" Line 1, characters 25-27: 1 | let illegal_hex_digit = "\u{u}" ;; ^^ Warning 14 [illegal-backslash]: illegal backslash escape in string. Hint: Single backslashes \ are reserved for escape sequences (\n, \r, ...). Did you check the list of OCaml escape sequences? To get a backslash character, escape it with a second backslash: \\. val illegal_hex_digit : string = "\\u{u}"