*should* fix most constexpr'ness issues when inlining (but, now has a small overhead of template instantiation)