Index: src/CodeGen/CodeGenerator.cpp
===================================================================
--- src/CodeGen/CodeGenerator.cpp	(revision 0522ebe7b3ae7204a1d2c50a1bc7273bfa36762a)
+++ src/CodeGen/CodeGenerator.cpp	(revision 3e1cd17bcf7fa71f8d3d952f264d84a7aeae095d)
@@ -192,10 +192,13 @@
 	}
 
-	assert( decl->returns.size() < 2 );
 	if ( 1 == decl->returns.size() ) {
 		ast::ptr<ast::Type> const & type = decl->returns[0]->get_type();
 		output << genTypeNoAttr( type, acc.str(), subOptions );
-	} else {
+	} else if ( 0 == decl->returns.size() ) {
 		output << "void " + acc.str();
+	} else {
+		assertf( !options.genC, "Multi-return should not reach code generation." );
+		ast::ptr<ast::Type> type = new ast::TupleType( copy( decl->type->returns ) );
+		output << genTypeNoAttr( type, acc.str(), subOptions );
 	}
 
