Make error optional, but default to true, as previous behaviour was unpredictably buggy