Index: src/Common/Stats/Time.h
===================================================================
--- src/Common/Stats/Time.h	(revision cca568e32a0a35aff9eb80fa5e403e3d338d349e)
+++ src/Common/Stats/Time.h	(revision 26fd986f03393501efae80e424071cb9eedeaa81)
@@ -9,5 +9,5 @@
 // Author           : Thierry Delisle
 // Created On       : Fri Mar 01 15:14:11 2019
-// Last Modified By :
+// Last Modified By : Andrew Beach
 // Last Modified On :
 // Update Count     :
@@ -41,4 +41,10 @@
 				f();
 			}
+
+			template<typename ret_t = void, typename func_t, typename... arg_t>
+			inline ret_t TimeCall(
+					const char *, func_t func, arg_t&&... arg) {
+				return func(std::forward<arg_t>(arg)...);
+			}
 #		else
 			void StartGlobal();
@@ -59,4 +65,11 @@
 				func();
 			}
+
+			template<typename ret_t = void, typename func_t, typename... arg_t>
+			inline ret_t TimeCall(
+					const char * name, func_t func, arg_t&&... arg) {
+				BlockGuard guard(name);
+				return func(std::forward<arg_t>(arg)...);
+			}
 #		endif
 	}
Index: src/ControlStruct/MLEMutator.cc
===================================================================
--- src/ControlStruct/MLEMutator.cc	(revision cca568e32a0a35aff9eb80fa5e403e3d338d349e)
+++ src/ControlStruct/MLEMutator.cc	(revision 26fd986f03393501efae80e424071cb9eedeaa81)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Oct 22 17:22:44 2019
-// Update Count     : 220
+// Last Modified By : Andrew Beach
+// Last Modified On : Thr Jan 16 15:33:00 2020
+// Update Count     : 221
 //
 
@@ -331,4 +331,11 @@
 	}
 
+	void MLEMutator::premutate( FinallyStmt * ) {
+		GuardAction([this, old = std::move(enclosingControlStructures)]() {
+			enclosingControlStructures = std::move(old);
+		});
+		enclosingControlStructures = std::list<Entry>();
+	}
+
 	void MLEMutator::premutate( CaseStmt *caseStmt ) {
 		visit_children = false;
Index: src/ControlStruct/MLEMutator.h
===================================================================
--- src/ControlStruct/MLEMutator.h	(revision cca568e32a0a35aff9eb80fa5e403e3d338d349e)
+++ src/ControlStruct/MLEMutator.h	(revision 26fd986f03393501efae80e424071cb9eedeaa81)
@@ -9,8 +9,10 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Oct 22 17:22:47 2019
-// Update Count     : 45
+// Last Modified By : Andrew Beach
+// Last Modified On : Thr Jan 16 12:46:00 2020
+// Update Count     : 46
 //
+
+// Can anyone figure out what MLE stands for?
 
 #pragma once
@@ -49,4 +51,5 @@
 		void premutate( TryStmt *tryStmt );
 		Statement * postmutate( TryStmt *tryStmt );
+		void premutate( FinallyStmt *finallyStmt );
 
 		Statement *mutateLoop( Statement *bodyLoop, Entry &e );
Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision cca568e32a0a35aff9eb80fa5e403e3d338d349e)
+++ src/SymTab/Validate.cc	(revision 26fd986f03393501efae80e424071cb9eedeaa81)
@@ -375,19 +375,14 @@
 			Stats::Heap::newPass("validate-F");
 			Stats::Time::BlockGuard guard("validate-F");
-			Stats::Time::TimeBlock("Fix Object Type", [&]() {
-				FixObjectType::fix( translationUnit );
-			});
-			Stats::Time::TimeBlock("Array Length", [&]() {
-				ArrayLength::computeLength( translationUnit );
-			});
-			Stats::Time::TimeBlock("Find Special Declarations", [&]() {
-				Validate::findSpecialDecls( translationUnit );
-			});
-			Stats::Time::TimeBlock("Fix Label Address", [&]() {
-				mutateAll( translationUnit, labelAddrFixer );
-			});
-			Stats::Time::TimeBlock("Handle Attributes", [&]() {
-				Validate::handleAttributes( translationUnit );
-			});
+			Stats::Time::TimeCall("Fix Object Type",
+				FixObjectType::fix, translationUnit);
+			Stats::Time::TimeCall("Array Length",
+				ArrayLength::computeLength, translationUnit);
+			Stats::Time::TimeCall("Find Special Declarations",
+				Validate::findSpecialDecls, translationUnit);
+			Stats::Time::TimeCall("Fix Label Address",
+				mutateAll<LabelAddressFixer>, translationUnit, labelAddrFixer);
+			Stats::Time::TimeCall("Handle Attributes",
+				Validate::handleAttributes, translationUnit);
 		}
 	}
