diff --git a/CMakeLists.txt b/CMakeLists.txt
index e977216..33a993b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,7 +27,7 @@ macro(compile_options target_name)
     sanitizers(${target_name})
 endmacro()
 
-project(blt-gp VERSION 0.4.1)
+project(blt-gp VERSION 0.4.2)
 
 include(CTest)
 
diff --git a/include/blt/gp/program.h b/include/blt/gp/program.h
index d9c703f..5caa1e0 100644
--- a/include/blt/gp/program.h
+++ b/include/blt/gp/program.h
@@ -677,6 +677,11 @@ namespace blt::gp
 			return config;
 		}
 
+		void set_config(const prog_config_t& config)
+		{
+			this->config = config;
+		}
+
 		[[nodiscard]] type_provider& get_typesystem()
 		{
 			return storage.system;
diff --git a/lib/blt b/lib/blt
index 0ebbc19..9a05c86 160000
--- a/lib/blt
+++ b/lib/blt
@@ -1 +1 @@
-Subproject commit 0ebbc198c5b80ca99e537460ef92fd806864fa3e
+Subproject commit 9a05c86b02c9c45c2b384c531007416148ec4b56