Certain identifiers c have prefix status, meaning that combinations of the
form c f x will be parsed as c (f x) rather than the usual (c f) x. The
call prefixes() returns the list of all such identifiers.
FAILURE CONDITIONS
Never fails.
EXAMPLE
In the default HOL state:
# prefixes();;
val it : string list = ["~"; "--"; "mod"]
This explains, for example, why `~ ~ p' parses as `~(~p)' rather than
parsing as `(~ ~) p' and generating a typechecking error.