Kevlin Henney, with help from David Abrahams and Beman Dawes, originally
contributed the previous version of numeric_cast<> which already presented the idea
of a runtime range check.

Later, Eric Ford, Kevin Lynch and the author spotted some genericity problems
with that numeric_cast<>
which prevented it from being used in a generic layer of math functions.

An improved numeric_cast<> which properly handled all combinations
of arithmetic types was presented.

David Abrahams and Beman Dawes acknowledged the need of an improved version
of numeric_cast<>
and supported the submission as originally laid out. Daryl Walker and Darin
Adler made some important comments and proposed fixes to the original submission.

Special thanks go to Björn Karlsoon who helped the author considerably.
Having found the problems with numeric_cast<> himself, he revised very carefully
the original submission and spot a subtle bug in the range checking implementation.
He also wrote part of this documentation and proof-read and corrected other
parts. And most importantly: the features now presented here in this library
evolved from the original submission as a result of the useful private communications
between Björn and the author.