TLDR question:
How to redefine Around to work with higher order approximation.
Motivation
From the documentation
Aroundrepresents an approximate number or quantity with a value an uncertainty. When Around is used in computations, uncertainties are by default propagated using a first-order series approximation, assuming no correlations.
First order is a common choice approximation when the magnitude of the error is very small and such approximation is valid.
But a first order approximation gives misleading results for large errors, specially for functions with asymmetries in the derivative, where one expects the error to be asymmetric.
I argue that Mathematica should not make a priori assumptions about the magnitude of the error. Around should not be limited to small error cases, but work in general.Therefore limiting Around to first order is a poor choice and we need, at least as an option, higher order approximation when the errors are significant in magnitude.
The question
I would like to profit from all the nice ways Around is interpreted by Mathematica, including ListPlot error bars and error propagation, but working at higher orders.
I would expect
Unprotect[Around]
(* The magic here *)
Protect[Around]
Exp[Around[0, 1, "Order" -> 3]]
Around[1., {0.6666666666666667, 1.6666666666666665`}]
Instead of
Exp[Around[0, 1]]
Around[1., 1.]
Edit: Probably Around[0, 1, "Order" -> 3] is too problematic (As per the comment by @MichaelE2). It may be better this other form
Block[{$ErrorPropagationOrder=3}, Exp[Around[0, 1]]]
Can we redefine Around and fix it?
![Result of expAround[0, 1]](../../images/1da680b9ffa03b10348f42778a58461b.webp)

Around[1., {0.6666666666666667, 1.6666666666666665`}, "Order" -> 3]so that the order is propagated throughout the steps of a computation? – Michael E2 Aug 27 '20 at 14:17$ErrorPropagationOrder=3or some other idiomatic way. – rhermans Aug 27 '20 at 14:30Expleads to non-symmetric distributions of the error that plus-or-minus one standard deviation isn't a very good descriptor. – JimB Aug 28 '20 at 05:55Around"works" for large errors only in the sense that returns a number, not in in the sense that the values that returns makes a reasonable approximation of the error propagation. – rhermans Aug 29 '20 at 07:12