The reasoning is that the detail namespace is not to be used outside the module itself. But one might want to use different number types with these templates. The `Base` suffix was chosen in order to be consistent with `MatBase` and `Vector` naming convention.