Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision ca946a45b3577867588c7cb7d196558c7e1b0074)
+++ src/CodeGen/CodeGenerator.cc	(revision bdd07556747632c6cfc8d469c9e4644b6593e9ad)
@@ -262,5 +262,8 @@
 			} // if
 		} else {
-			output << typeDecl->typeString() << " " << typeDecl->get_name();
+			output << typeDecl->genTypeString() << " " << typeDecl->get_name();
+			if ( typeDecl->get_kind() != TypeDecl::Any && typeDecl->get_sized() ) {
+				output << " | sized(" << typeDecl->get_name() << ")";
+			}
 			if ( ! typeDecl->get_assertions().empty() ) {
 				output << " | { ";
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision ca946a45b3577867588c7cb7d196558c7e1b0074)
+++ src/SynTree/Declaration.h	(revision bdd07556747632c6cfc8d469c9e4644b6593e9ad)
@@ -204,4 +204,5 @@
 
 	virtual std::string typeString() const;
+	virtual std::string genTypeString() const;
 
 	virtual TypeDecl *clone() const { return new TypeDecl( *this ); }
Index: src/SynTree/TypeDecl.cc
===================================================================
--- src/SynTree/TypeDecl.cc	(revision ca946a45b3577867588c7cb7d196558c7e1b0074)
+++ src/SynTree/TypeDecl.cc	(revision bdd07556747632c6cfc8d469c9e4644b6593e9ad)
@@ -29,4 +29,9 @@
 }
 
+std::string TypeDecl::genTypeString() const {
+	static const std::string kindNames[] = { "otype", "dtype", "ftype", "ttype" };
+	return kindNames[ kind ];
+}
+
 std::ostream & operator<<( std::ostream & os, const TypeDecl::Data & data ) {
   return os << data.kind << ", " << data.isComplete;
