Keeps the implementation hidden from the intended API and lessens the header dependencies on the interpreter's header.