In our APIs we often need to return both some value and bool (or tristate) result. When we return pointer, at least in most cases we can assume nullptr means failure (but still the tristate case is not supported this way). But when value is returned we're adding bool *ok OUT parameter that's inconvenient in use.
Proposal: use tuples from C++11
It's also advertised in "No more output parameters" section of the "C++ Today" book as well. (ask @staniek for an excerpt)