diff --git a/libwccl/ops/functions/bool/iterations/atleast.cpp b/libwccl/ops/functions/bool/iterations/atleast.cpp
index 0cadc0ed004d458864588869aa23fe15608e079a..ea3d7c90c7f7ca593cd8c7d990b60b0653377707 100644
--- a/libwccl/ops/functions/bool/iterations/atleast.cpp
+++ b/libwccl/ops/functions/bool/iterations/atleast.cpp
@@ -12,7 +12,7 @@ bool AtLeast::iterate(
 	int left_to_match = min_matches_;
 	for(int i = left; i <= right; ++i) {
 		p.set_value(i);
-		if(evaluating_expr_->apply(context)) {
+		if(evaluating_expr_->apply(context)->get_value()) {
 			if(--left_to_match == 0) {
 				return true;
 			}
diff --git a/libwccl/ops/functions/bool/iterations/leftlook.cpp b/libwccl/ops/functions/bool/iterations/leftlook.cpp
index 5439bec505f019875b85ad1e225037a8c188369f..57cd4a8dd7d42e5d059b2bc2b73773d90625757d 100644
--- a/libwccl/ops/functions/bool/iterations/leftlook.cpp
+++ b/libwccl/ops/functions/bool/iterations/leftlook.cpp
@@ -10,7 +10,7 @@ bool LeftLook::iterate(
 {
 	for(int i = left; i <= right; ++i) {
 		p.set_value(i);
-		if(evaluating_expr_->apply(context)) {
+		if(evaluating_expr_->apply(context)->get_value()) {
 			return true;
 		}
 	}
diff --git a/libwccl/ops/functions/bool/iterations/only.cpp b/libwccl/ops/functions/bool/iterations/only.cpp
index 291d25f9ce5893b49f3973c87ed4224ea6b5b014..32d9f16015085b7baaa66ceccc5ec7838f5401b9 100644
--- a/libwccl/ops/functions/bool/iterations/only.cpp
+++ b/libwccl/ops/functions/bool/iterations/only.cpp
@@ -10,7 +10,7 @@ bool Only::iterate(
 {
 	for(int i = left; i <= right; ++i) {
 		p.set_value(i);
-		if(!evaluating_expr_->apply(context)) {
+		if(!evaluating_expr_->apply(context)->get_value()) {
 			return false;
 		}
 	}
diff --git a/libwccl/ops/functions/bool/iterations/rightlook.cpp b/libwccl/ops/functions/bool/iterations/rightlook.cpp
index 613c62285ccc25c95ff81bfde194e705daa5d27c..36bae48af8cdb939d6dcf8f48dc414a2b0805d30 100644
--- a/libwccl/ops/functions/bool/iterations/rightlook.cpp
+++ b/libwccl/ops/functions/bool/iterations/rightlook.cpp
@@ -10,7 +10,7 @@ bool RightLook::iterate(
 {
 	for(int i = right; i >= left; --i) {
 		p.set_value(i);
-		if(evaluating_expr_->apply(context)) {
+		if(evaluating_expr_->apply(context)->get_value()) {
 			return true;
 		}
 	}