Index: src/SynTree/Statement.h
===================================================================
--- src/SynTree/Statement.h	(revision fa162645139e7dda92de4b973c2a17238a8a252b)
+++ src/SynTree/Statement.h	(revision ea7d2b051267e571f113e8dabae0d886eda94432)
@@ -46,5 +46,5 @@
 	virtual void accept( Visitor &v ) override = 0;
 	virtual Statement *acceptMutator( Mutator &m ) override = 0;
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -65,5 +65,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual CompoundStmt *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -76,5 +76,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual NullStmt *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -93,5 +93,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -124,5 +124,5 @@
 	virtual void accept( Visitor & v ) { v.visit( this ); }
 	virtual Statement * acceptMutator( Mutator & m ) { return m.mutate( this ); }
-	virtual void print( std::ostream & os, int indent = 0 ) const;
+	virtual void print( std::ostream & os, Indenter indent = {} ) const;
 };
 
@@ -150,5 +150,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -171,5 +171,5 @@
 
 	virtual SwitchStmt *clone() const override { return new SwitchStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 
 };
@@ -199,5 +199,5 @@
 
 	virtual CaseStmt *clone() const override { return new CaseStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
   private:
 	bool _isDefault;
@@ -225,5 +225,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -251,5 +251,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -280,5 +280,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
   private:
 	static const char *brType[];
@@ -299,5 +299,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -323,5 +323,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -346,5 +346,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -374,5 +374,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -391,5 +391,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -428,5 +428,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 
 };
@@ -448,5 +448,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
@@ -470,5 +470,5 @@
 	virtual void accept( Visitor &v ) override { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m )  override { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const override;
+	virtual void print( std::ostream &os, Indenter indent = {} ) const override;
 };
 
