type t = Standard of string | Verbatim of string let pp ppf = function Standard s -> Format.fprintf ppf "%S" s | Verbatim v -> Format.fprintf ppf "{|%s|}" v let compare ?(compare=compare) a b = match a,b with (Standard a, Standard b) -> compare a b | (Standard _, Verbatim _) -> -1 | (Verbatim _, Standard _) -> 1 | (Verbatim a, Verbatim b) -> compare a b let extract = function Standard s -> s | Verbatim v -> v