Index: src/AST/Attribute.hpp
===================================================================
--- src/AST/Attribute.hpp	(revision 2a5e8a6c5f317ed7882dfbe7087543a0a5469976)
+++ src/AST/Attribute.hpp	(revision 6d98a07bf48a85a7383f5059a41136be241d3348)
@@ -47,4 +47,13 @@
 };
 
+
+
+//=================================================================================================
+/// This disgusting and giant piece of boiler-plate is here to solve a cyclic dependency
+/// remove only if there is a better solution
+/// The problem is that ast::ptr< ... > uses increment/decrement which won't work well with
+/// forward declarations
+inline void increment( const class Attribute * node, Node::ref_type ref ) { node->increment( ref ); }
+inline void decrement( const class Attribute * node, Node::ref_type ref ) { node->decrement( ref ); }
 }
 
