please add @tparam to document the template parameters.
what are the differences between TInteger and TNumber ?