diff --git a/alib2data/src/alphabet/BarSymbol.h b/alib2data/src/alphabet/BarSymbol.h
index e619a832b9d713f0a211d0fdaf183d1f9f1005ed..e155487cf6f4174fdb3c6c8f1e71b48f97dc5230 100644
--- a/alib2data/src/alphabet/BarSymbol.h
+++ b/alib2data/src/alphabet/BarSymbol.h
@@ -11,6 +11,7 @@
 #include "SymbolBase.h"
 #include "Symbol.h"
 #include <object/Object.h>
+#include <common/ranked_symbol.hpp>
 
 namespace alphabet {
 
@@ -75,6 +76,11 @@ inline object::Object BarSymbol::instance < object::Object > ( ) {
 	return object::Object ( BarSymbol ( ) );
 }
 
+template < >
+inline common::ranked_symbol < > BarSymbol::instance < common::ranked_symbol < > > ( ) {
+	return common::ranked_symbol < > ( BarSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
+}
+
 } /* namespace alphabet */
 
 #endif /* BAR_SYMBOL_H_ */
diff --git a/alib2data/src/alphabet/BlankSymbol.h b/alib2data/src/alphabet/BlankSymbol.h
index ab3ee3d820efd2b83a8d31022e459426a172438d..044e516807b8eecbef32164beb03b2f01111d63b 100644
--- a/alib2data/src/alphabet/BlankSymbol.h
+++ b/alib2data/src/alphabet/BlankSymbol.h
@@ -11,6 +11,7 @@
 #include "SymbolBase.h"
 #include "Symbol.h"
 #include <object/Object.h>
+#include <common/ranked_symbol.hpp>
 
 namespace alphabet {
 
@@ -55,6 +56,11 @@ inline typename std::enable_if < std::is_integral < Base >::value, Base >::type
 	return ' ';
 }
 
+template < >
+inline object::Object BlankSymbol::instance < object::Object > ( ) {
+	return object::Object ( BlankSymbol ( ) );
+}
+
 template < >
 inline std::string BlankSymbol::instance < std::string > ( ) {
 	return std::string ( 1, BlankSymbol::instance < char > ( ) );
@@ -71,8 +77,8 @@ inline Symbol BlankSymbol::instance < Symbol > ( ) {
 }
 
 template < >
-inline object::Object BlankSymbol::instance < object::Object > ( ) {
-	return object::Object ( BlankSymbol ( ) );
+inline common::ranked_symbol < > BlankSymbol::instance < common::ranked_symbol < > > ( ) {
+	return common::ranked_symbol < > ( BlankSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
 }
 
 } /* namespace alphabet */
diff --git a/alib2data/src/alphabet/BottomOfTheStackSymbol.h b/alib2data/src/alphabet/BottomOfTheStackSymbol.h
index 12040d49b021f64e57bbf238596fbb22bccc36ed..c85c33cd9596133cdb4d84a7a8d469bfe0a70019 100644
--- a/alib2data/src/alphabet/BottomOfTheStackSymbol.h
+++ b/alib2data/src/alphabet/BottomOfTheStackSymbol.h
@@ -11,6 +11,7 @@
 #include "SymbolBase.h"
 #include "Symbol.h"
 #include <object/Object.h>
+#include <common/ranked_symbol.hpp>
 
 namespace alphabet {
 
@@ -55,6 +56,11 @@ inline typename std::enable_if < std::is_integral < Base >::value, Base >::type
 	return '_';
 }
 
+template < >
+inline object::Object BottomOfTheStackSymbol::instance < object::Object > ( ) {
+	return object::Object ( BottomOfTheStackSymbol ( ) );
+}
+
 template < >
 inline std::string BottomOfTheStackSymbol::instance < std::string > ( ) {
 	return std::string ( 1, BottomOfTheStackSymbol::instance < char > ( ) );
@@ -71,8 +77,8 @@ inline Symbol BottomOfTheStackSymbol::instance < Symbol > ( ) {
 }
 
 template < >
-inline object::Object BottomOfTheStackSymbol::instance < object::Object > ( ) {
-	return object::Object ( BottomOfTheStackSymbol ( ) );
+inline common::ranked_symbol < > BottomOfTheStackSymbol::instance < common::ranked_symbol < > > ( ) {
+	return common::ranked_symbol < > ( BottomOfTheStackSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
 }
 
 } /* namespace alphabet */
diff --git a/alib2data/src/alphabet/EndSymbol.h b/alib2data/src/alphabet/EndSymbol.h
index 239733bc21e0619267aadfd39067b9a398b51beb..b7ef7b6eac453aa3758d0c0f04e32d835e37ec73 100644
--- a/alib2data/src/alphabet/EndSymbol.h
+++ b/alib2data/src/alphabet/EndSymbol.h
@@ -11,6 +11,7 @@
 #include "SymbolBase.h"
 #include "Symbol.h"
 #include <object/Object.h>
+#include <common/ranked_symbol.hpp>
 
 namespace alphabet {
 
@@ -55,6 +56,11 @@ inline typename std::enable_if < std::is_integral < Base >::value, Base >::type
 	return '$';
 }
 
+template < >
+inline object::Object EndSymbol::instance < object::Object > ( ) {
+	return object::Object ( EndSymbol ( ) );
+}
+
 template < >
 inline std::string EndSymbol::instance < std::string > ( ) {
 	return std::string ( 1, EndSymbol::instance < char > ( ) );
@@ -71,8 +77,8 @@ inline Symbol EndSymbol::instance < Symbol > ( ) {
 }
 
 template < >
-inline object::Object EndSymbol::instance < object::Object > ( ) {
-	return object::Object ( EndSymbol ( ) );
+inline common::ranked_symbol < > EndSymbol::instance < common::ranked_symbol < > > ( ) {
+	return common::ranked_symbol < > ( EndSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
 }
 
 } /* namespace alphabet */
diff --git a/alib2data/src/alphabet/InitialSymbol.h b/alib2data/src/alphabet/InitialSymbol.h
index 04fda2327588398eafceef2950f8ca361865e69a..2fe0f045d500c14c71cd9697b483c10cbd2383f6 100644
--- a/alib2data/src/alphabet/InitialSymbol.h
+++ b/alib2data/src/alphabet/InitialSymbol.h
@@ -11,6 +11,7 @@
 #include "SymbolBase.h"
 #include "Symbol.h"
 #include <object/Object.h>
+#include <common/ranked_symbol.hpp>
 
 namespace alphabet {
 
@@ -56,6 +57,11 @@ inline typename std::enable_if < std::is_integral < Base >::value, Base >::type
 	return 0;
 }
 
+template < >
+inline object::Object InitialSymbol::instance < object::Object > ( ) {
+	return object::Object ( InitialSymbol ( ) );
+}
+
 template < >
 inline std::string InitialSymbol::instance < std::string > ( ) {
 	return std::string ( "S" );
@@ -72,8 +78,8 @@ inline Symbol InitialSymbol::instance < Symbol > ( ) {
 }
 
 template < >
-inline object::Object InitialSymbol::instance < object::Object > ( ) {
-	return object::Object ( InitialSymbol ( ) );
+inline common::ranked_symbol < > InitialSymbol::instance < common::ranked_symbol < > > ( ) {
+	return common::ranked_symbol < > ( InitialSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
 }
 
 } /* namespace alphabet */
diff --git a/alib2data/src/alphabet/StartSymbol.h b/alib2data/src/alphabet/StartSymbol.h
index 309174178f782a9c4de3e2ff3fd40d91c6271368..b6ea2a0093d5805a14a58c9e0b97af6308443eff 100644
--- a/alib2data/src/alphabet/StartSymbol.h
+++ b/alib2data/src/alphabet/StartSymbol.h
@@ -11,6 +11,7 @@
 #include "SymbolBase.h"
 #include "Symbol.h"
 #include <object/Object.h>
+#include <common/ranked_symbol.hpp>
 
 namespace alphabet {
 
@@ -55,6 +56,11 @@ inline typename std::enable_if < std::is_integral < Base >::value, Base >::type
 	return '^';
 }
 
+template < >
+inline object::Object StartSymbol::instance < object::Object > ( ) {
+	return object::Object ( StartSymbol ( ) );
+}
+
 template < >
 inline std::string StartSymbol::instance < std::string > ( ) {
 	return std::string ( 1, StartSymbol::instance < char > ( ) );
@@ -71,8 +77,8 @@ inline Symbol StartSymbol::instance < Symbol > ( ) {
 }
 
 template < >
-inline object::Object StartSymbol::instance < object::Object > ( ) {
-	return object::Object ( StartSymbol ( ) );
+inline common::ranked_symbol < > StartSymbol::instance < common::ranked_symbol < > > ( ) {
+	return common::ranked_symbol < > ( StartSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
 }
 
 } /* namespace alphabet */
diff --git a/alib2data/src/alphabet/SubtreeWildcardSymbol.h b/alib2data/src/alphabet/SubtreeWildcardSymbol.h
index c95b6dd9c7281cd8b967e16d2434e70229cf5865..b74e5503ab971fb3c451f3d09ea44c12e5c88f4f 100644
--- a/alib2data/src/alphabet/SubtreeWildcardSymbol.h
+++ b/alib2data/src/alphabet/SubtreeWildcardSymbol.h
@@ -56,6 +56,11 @@ inline typename std::enable_if < std::is_integral < Base >::value, Base >::type
 	return 'S';
 }
 
+template < >
+inline object::Object SubtreeWildcardSymbol::instance < object::Object > ( ) {
+	return object::Object ( SubtreeWildcardSymbol ( ) );
+}
+
 template < >
 inline std::string SubtreeWildcardSymbol::instance < std::string > ( ) {
 	return std::string ( 1, SubtreeWildcardSymbol::instance < char > ( ) );
@@ -74,7 +79,7 @@ inline Symbol SubtreeWildcardSymbol::instance < Symbol > ( ) {
 // TODO make partially specialised when needed by classes or variables, functions can't be partially specialsed
 template < >
 inline common::ranked_symbol < > SubtreeWildcardSymbol::instance < common::ranked_symbol < > > ( ) {
-	return common::ranked_symbol < > ( DefaultSymbolType ( SubtreeWildcardSymbol ( ) ), DefaultRankType ( 0 ) );
+	return common::ranked_symbol < > ( SubtreeWildcardSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
 }
 
 template < >
@@ -82,11 +87,6 @@ inline RankedSymbol < > SubtreeWildcardSymbol::instance < RankedSymbol < > > ( )
 	return RankedSymbol < > ( SubtreeWildcardSymbol::instance < common::ranked_symbol < > > ( ) );
 }
 
-template < >
-inline object::Object SubtreeWildcardSymbol::instance < object::Object > ( ) {
-	return object::Object ( SubtreeWildcardSymbol ( ) );
-}
-
 } /* namespace alphabet */
 
 #endif /* SUBTREE_WILDCARD_SYMBOL_H_ */
diff --git a/alib2data/src/alphabet/VariablesBarSymbol.h b/alib2data/src/alphabet/VariablesBarSymbol.h
index c64699aff2dfe04d3c75230dd26caad240972773..cd06cc00370bf0486f797d1b5d073ec8f5a326ed 100644
--- a/alib2data/src/alphabet/VariablesBarSymbol.h
+++ b/alib2data/src/alphabet/VariablesBarSymbol.h
@@ -56,6 +56,11 @@ inline typename std::enable_if < std::is_integral < Base >::value, Base >::type
 	return '!';
 }
 
+template < >
+inline object::Object VariablesBarSymbol::instance < object::Object > ( ) {
+	return object::Object ( VariablesBarSymbol ( ) );
+}
+
 template < >
 inline std::string VariablesBarSymbol::instance < std::string > ( ) {
 	return std::string ( 1, VariablesBarSymbol::instance < char > ( ) );
@@ -74,7 +79,7 @@ inline Symbol VariablesBarSymbol::instance < Symbol > ( ) {
 // TODO make partially specialised when needed by classes or variables, functions can be partially specialsed
 template < >
 inline common::ranked_symbol < > VariablesBarSymbol::instance < common::ranked_symbol < > > ( ) {
-	return common::ranked_symbol < > ( DefaultSymbolType ( VariablesBarSymbol ( ) ), DefaultRankType ( 0 ) );
+	return common::ranked_symbol < > ( VariablesBarSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
 }
 
 template < >
@@ -82,11 +87,6 @@ inline RankedSymbol < > VariablesBarSymbol::instance < RankedSymbol < > > ( ) {
 	return RankedSymbol < > ( VariablesBarSymbol::instance < common::ranked_symbol < > > ( ) );
 }
 
-template < >
-inline object::Object VariablesBarSymbol::instance < object::Object > ( ) {
-	return object::Object ( VariablesBarSymbol ( ) );
-}
-
 } /* namespace alphabet */
 
 #endif /* VARIABLES_BAR_SYMBOL_H_ */