Compilation errors for hte most part we just print to stdout the interesting bits (Syntax errors, semantic errors, etc. We do this by way of calling nycr). These should be output to a sd::ostream rather than std::cout, so you can send them back to the user / include them in a reason attached to the CompileFailure exception.