added LargerType struct
replaced _Tp with T
added _ suffix to expr templates to avoid name conflicts
removed pow function (it is not symmetrical)
added expr templates for unary arithmetic functions