Fix PPrint specialization for TokenBase<T> subclass
diff --git a/PPrint.cpp b/PPrint.cpp
index c5ad222..a15d6af 100644
--- a/PPrint.cpp
+++ b/PPrint.cpp
@@ -42,3 +42,13 @@
 {
     QTextStream(stderr) << string << '\n';
 }
+
+QString pprint(QList<Token> val)
+{
+    return pprintDense(val);
+}
+
+QString pprint(QList<AstNode> val)
+{
+    return pprintDense(val);
+}
diff --git a/PPrint.h b/PPrint.h
index 09327af..4020752 100644
--- a/PPrint.h
+++ b/PPrint.h
@@ -12,14 +12,11 @@
 template <typename T>
 QString pprint(T val);
 
-//template <>
-//QString pprint<Token>(Token val);
+QString pprint(QList<Token> val);
+QString pprint(QList<AstNode> val);
 
-//template <>
-//QString pprint<AstNode>(AstNode val);
-
-template <typename T, typename std::enable_if_t<std::is_base_of<TokenBase<T>, T>::value>::value = true>
-QString pprint(QList<T> val)
+template <typename T>
+QString pprintDense(QList<T> val)
 {
     QString out;
     int lastType = -1;
@@ -28,7 +25,7 @@
 
     for (const T &v : val)
     {
-        if ((lastType != v.type() || v.type() != T::SYMBOL) && lastType != -1)
+        if ((lastType != v.type() || v.type() != T::SYM) && lastType != -1)
             out += " ";
 
         out += QString(v);