diff --git a/libwccl/ops/functions/bool/predicates/pointagreement.h b/libwccl/ops/functions/bool/predicates/pointagreement.h
index b9b58e910e707f0d821b571f14e3114174769765..cefa1f7c25058cf0381be5421528a9aed9163c25 100644
--- a/libwccl/ops/functions/bool/predicates/pointagreement.h
+++ b/libwccl/ops/functions/bool/predicates/pointagreement.h
@@ -19,10 +19,12 @@ public:
 	PointAgreement(
 		const PosFunctionPtr& pos1_expr,
 		const PosFunctionPtr& pos2_expr,
-		const TSetFunctionPtr& attribs_expr)
+		const TSetFunctionPtr& attribs_expr,
+		const Corpus2::Tagset& tagset)
 		: pos1_expr_(pos1_expr),
 		  pos2_expr_(pos2_expr),
-		  attribs_expr_(attribs_expr)
+		  attribs_expr_(attribs_expr),
+		  tagset_(tagset)
 	{
 		BOOST_ASSERT(pos1_expr_);
 		BOOST_ASSERT(pos2_expr_);
@@ -45,6 +47,7 @@ protected:
 	const PosFunctionPtr pos1_expr_;
 	const PosFunctionPtr pos2_expr_;
 	const TSetFunctionPtr attribs_expr_;
+	const Corpus2::Tagset& tagset_;
 
 	/**
 	 * Gets two positions from arguments. If either of them
diff --git a/libwccl/ops/functions/bool/predicates/strongagreement.h b/libwccl/ops/functions/bool/predicates/strongagreement.h
index c59ee02a08dcfa47736cf938aff6920063cbe804..83c9dd630e1645936a6aebf05af67e12ce6c1478 100644
--- a/libwccl/ops/functions/bool/predicates/strongagreement.h
+++ b/libwccl/ops/functions/bool/predicates/strongagreement.h
@@ -18,10 +18,12 @@ public:
 	StrongAgreement(
 		const PosFunctionPtr& left_pos_expr,
 		const PosFunctionPtr& right_pos_expr,
-		const TSetFunctionPtr& attribs_expr)
+		const TSetFunctionPtr& attribs_expr,
+		const Corpus2::Tagset& tagset)
 		: left_pos_expr_(left_pos_expr),
 		  right_pos_expr_(right_pos_expr),
-		  attribs_expr_(attribs_expr)
+		  attribs_expr_(attribs_expr),
+		  tagset_(tagset)
 	{
 		BOOST_ASSERT(left_pos_expr_);
 		BOOST_ASSERT(right_pos_expr_);
@@ -45,6 +47,7 @@ protected:
 	const PosFunctionPtr left_pos_expr_;
 	const PosFunctionPtr right_pos_expr_;
 	const TSetFunctionPtr attribs_expr_;
+	const Corpus2::Tagset& tagset_;
 
 	/**
 	 * Gets start and end positions for range from arguments.
diff --git a/libwccl/ops/functions/bool/predicates/weakagreement.h b/libwccl/ops/functions/bool/predicates/weakagreement.h
index f3f58838001b3032875a685a48414c98b510c305..e4a47ab7ab14791210709439cd6c1c9aee150dbb 100644
--- a/libwccl/ops/functions/bool/predicates/weakagreement.h
+++ b/libwccl/ops/functions/bool/predicates/weakagreement.h
@@ -18,10 +18,12 @@ public:
 	WeakAgreement(
 		const PosFunctionPtr& left_pos_expr,
 		const PosFunctionPtr& right_pos_expr,
-		const TSetFunctionPtr& attribs_expr)
+		const TSetFunctionPtr& attribs_expr,
+		const Corpus2::Tagset& tagset)
 		: left_pos_expr_(left_pos_expr),
 		  right_pos_expr_(right_pos_expr),
-		  attribs_expr_(attribs_expr)
+		  attribs_expr_(attribs_expr),
+		  tagset_(tagset)
 	{
 		BOOST_ASSERT(left_pos_expr_);
 		BOOST_ASSERT(right_pos_expr_);
@@ -45,6 +47,7 @@ protected:
 	const PosFunctionPtr left_pos_expr_;
 	const PosFunctionPtr right_pos_expr_;
 	const TSetFunctionPtr attribs_expr_;
+	const Corpus2::Tagset& tagset_;
 
 	/**
 	 * Gets start and end positions for range from arguments.
diff --git a/libwccl/ops/functions/tset/agrfilter.h b/libwccl/ops/functions/tset/agrfilter.h
index f86f3fda842938e718fbd5fc25b597ce6a8c9942..d41d4c63980b29d0c676071e8b206745ffb351e2 100644
--- a/libwccl/ops/functions/tset/agrfilter.h
+++ b/libwccl/ops/functions/tset/agrfilter.h
@@ -22,11 +22,13 @@ public:
 			const PosFunctionPtr& left_pos_expr,
 			const PosFunctionPtr& right_pos_expr,
 			const TSetFunctionPtr& attribs_expr,
-			const TSetFunctionPtr& mask_expr)
+			const TSetFunctionPtr& mask_expr,
+			const Corpus2::Tagset& tagset)
 		: left_pos_expr_(left_pos_expr),
 		  right_pos_expr_(right_pos_expr),
 		  attribs_expr_(attribs_expr),
-		  mask_expr_(mask_expr)
+		  mask_expr_(mask_expr),
+		  tagset_(tagset)
 	{
 		BOOST_ASSERT(left_pos_expr_);
 		BOOST_ASSERT(right_pos_expr_);
@@ -54,7 +56,7 @@ protected:
 	const TSetFunctionPtr attribs_expr_;
 	const TSetFunctionPtr mask_expr_;
 
-
+	const Corpus2::Tagset& tagset_;
 
 	/**
 	 * Gets range specified via Position expressions. Trims the range