@b4n, the more its discussed the more convinced I become that returns of small values via pointer parameters instead of the function return value is ugly and inefficient. It limits the benefits of inlining and defeats the compiler's ability to employ copy elision and requires the caller to explicitly declare a variable. GCC's `aggregate-return` warning should be changed to `large-aggregate-return` instead.