Index: src/ControlStruct/ExceptTranslate.cpp
===================================================================
--- src/ControlStruct/ExceptTranslate.cpp	(revision 0a6d20453ce0f1bf1bb35cbe740e036d4d380116)
+++ src/ControlStruct/ExceptTranslate.cpp	(revision c7ebbec0b2465582b53d918f1a2b2c24f69f7ef1)
@@ -147,5 +147,4 @@
 	ast::CaseClause * create_terminate_catch_case(
 		const ast::DeclWithType * except_obj, int index, ast::CatchClause * clause );
-	ast::FunctionDecl * create_terminate_catch( CatchList &handlers );
 	ast::CompoundStmt * create_single_matcher(
 		const ast::DeclWithType * except_obj, ast::CatchClause * modded_handler );
@@ -299,42 +298,4 @@
 				ast::Label( location ) ),
 		}
-	);
-}
-
-ast::FunctionDecl * TryMutatorCore::create_terminate_catch(
-		CatchList &handlers ) {
-	// void catch(int index, exception * except) {
-	//     switch (index) { CATCH_CASE... }
-	// }
-
-	assert( !handlers.empty() );
-	std::vector<ast::ptr<ast::CaseClause>> handler_wrappers;
-	const CodeLocation & location = handlers.front()->location;
-
-	const ast::DeclWithType * index_obj = make_index_object( location );
-	const ast::DeclWithType * except_obj = make_exception_object( location );
-
-	// Index 1..{number of handlers}
-	for ( const auto & [index, handler] : enumerate( handlers ) ) {
-		handler_wrappers.push_back(
-			create_terminate_catch_case( except_obj, index + 1, handler ) );
-	}
-	// TODO: Some sort of meaningful error on default perhaps?
-
-	ast::SwitchStmt * handler_lookup = new ast::SwitchStmt( location,
-		new ast::VariableExpr( location, index_obj ),
-		std::move(handler_wrappers)
-		);
-	ast::CompoundStmt * body = new ast::CompoundStmt( location, {handler_lookup} );
-
-	// void (*catch)(int, exception_t *) `body`
-	return new ast::FunctionDecl(
-		location,
-		"catch",
-		{ index_obj, except_obj },
-		{}, //return void
-		body,
-		ast::Storage::Classes{},
-		ast::Linkage::Cforall
 	);
 }
