Index: src/ResolvExpr/Unify.cc
===================================================================
--- src/ResolvExpr/Unify.cc	(revision 335f2d883b176ca380bde3efee3ab1b59fab5f7b)
+++ src/ResolvExpr/Unify.cc	(revision 4139e3d97cd8420f817d0f2153368bdb2fa372f5)
@@ -179,6 +179,6 @@
 				result = false;
 			} else {
-				result = env.bindVarToVar( 
-					var1, var2, TypeDecl::Data{ entry1->second, entry2->second }, needAssertions, 
+				result = env.bindVarToVar(
+					var1, var2, TypeDecl::Data{ entry1->second, entry2->second }, needAssertions,
 					haveAssertions, openVars, widenMode, indexer );
 			}
@@ -648,13 +648,12 @@
 
 	ast::ptr<ast::Type> extractResultType( const ast::FunctionType * func ) {
-		assert(!"restore after AST added to build");
-		// if ( func->returns.empty() ) return new ast::VoidType{};
-		// if ( func->returns.size() == 1 ) return func->returns[0]->get_type();
-
-		// std::vector<ast::ptr<ast::Type>> tys;
-		// for ( const ast::DeclWithType * decl : func->returns ) {
-		// 	tys.emplace_back( decl->get_type() );
-		// }
-		// return new ast::TupleType{ std::move(tys) };
+		if ( func->returns.empty() ) return new ast::VoidType{};
+		if ( func->returns.size() == 1 ) return func->returns[0]->get_type();
+
+		std::vector<ast::ptr<ast::Type>> tys;
+		for ( const ast::DeclWithType * decl : func->returns ) {
+			tys.emplace_back( decl->get_type() );
+		}
+		return new ast::TupleType{ std::move(tys) };
 	}
 } // namespace ResolvExpr
