I suppose that begets the question, why would I write a native plugin instead of using elisp? I'm guessing the answer is so I can do some sort of background work in another thread?
You can use the ocaml toolchain (for instance: ocamllex and ocamlyacc) and stop writing ad hoc parsers.
That makes sense. Thanks.
That, or for speed, or in order to take advantage of already extant library functions rather than reimplementing them in Emacs Lisp, or some combination of the above.