  
  
 diff --git a/include/calculate/wrapper.hpp b/include/calculate/wrapper.hpp
-index 67d867f..d9a2b41 100644
+index bb361f4..9cead46 100644
 --- a/include/calculate/wrapper.hpp
 +++ b/include/calculate/wrapper.hpp
 @@ -83,7 +83,7 @@ class Wrapper {

diff --git a/include/calculate/lexer.hpp b/include/calculate/lexer.hpp
index 9ef2a1a..71d4685 100644
--- a/include/calculate/lexer.hpp
+++ b/include/calculate/lexer.hpp
@@ -31,30 +31,42 @@ constexpr const char separator[] = ",";
 constexpr const char decimal[] = ".";
 
 template<bool>
-constexpr const char* real =

+};
 
 template<typename Type>
-constexpr const char* number =
-    real<util::is_integral_v<Type>>;
+struct number {
+    static constexpr const char* value = real<std::is_integral<Type>::value>::value;
+};
 
 template<typename Type>
-constexpr const char* number<std::complex<Type>> =
-    complex<util::is_integral_v<Type>>;
+struct number<std::complex<Type>> {
+    static constexpr const char* value = complex<std::is_integral<Type>::value>::value;
+};
 
 
 constexpr const char name[] =
@@ -446,13 +456,13 @@ public:
 template<typename Type>
 Lexer<Type> make_lexer() noexcept {
     using namespace defaults;
