let is_keyword =
let keywords =
List.fold_right StringSet.add
[ "and"; "as"; "assert"; "begin"; "class"; "constraint";
"do"; "done"; "downto"; "else"; "end"; "exception";
"external"; "false"; "for"; "fun"; "function"; "functor";
"if"; "in"; "include"; "inherit"; "initializer"; "lazy";
"let"; "match"; "method"; "module"; "mutable"; "new";
"object"; "of"; "open"; "parser"; "private"; "rec";
"sig"; "struct"; "then"; "to"; "true"; "try"; "type";
"val"; "virtual"; "when"; "while"; "with" ]
StringSet.empty
in fun s -> StringSet.mem s keywords