`CompilerBuilder` should be able to return `Result`. The `Error` should be specialized to return compiler builder errors.