This causes both output and error to reference the same String, which technically is fine, but if someone comes along and does something stupid like `result.error << "stuff"`, then it would affect output: `result.output # => "stuff"`

Minor, but I'm wondering if they should just be initialized separately.