Added the addX functions; turned everything into constexprs, unit tests enhanced too