diff --git a/source/simple/geom/bool_algebra.hpp b/source/simple/geom/bool_algebra.hpp
index debe257005e17e23ed2e088e5da83296412e33ad..457b3606ad685e3e9e8e66d5161328a05e1c2b91 100644
--- a/source/simple/geom/bool_algebra.hpp
+++ b/source/simple/geom/bool_algebra.hpp
@@ -70,12 +70,24 @@ SIMPLE_GEOM_VECTOR_DEFINE_COMPARISON_OPERATOR(<=, conjunct)
 		return conjunction<C,D,O>(v);
 	}
 
+	template <typename C, size_t D, typename O>
+	conjunction<C,D,O> to_conjunction(disjunction<C,D,O> v)
+	{
+		return conjunction<C,D,O>(v.range);
+	}
+
 	template <typename C, size_t D, typename O>
 	disjunction<C,D,O> to_disjunction(vector<C,D,O> v)
 	{
 		return disjunction<C,D,O>(v);
 	}
 
+	template <typename C, size_t D, typename O>
+	disjunction<C,D,O> to_disjunction(conjunction<C,D,O> v)
+	{
+		return disjunction<C,D,O>(v.range);
+	}
+
 	// De Morgan's laws
 	template <typename C, size_t D, typename O>
 	[[nodiscard]] constexpr conjunction<C,D,O>