Using Location.raise_error has the annoying side effect that merlin can't do anything with the file. Instead, whenever we produce an error we should instead produce an [%%ocaml.error] extension point.
In ppx, we should expose no such Location.raise function to make sure new ppx rewriters do the right thing.