Index: src/AST/Node.hpp
===================================================================
--- src/AST/Node.hpp	(revision c1ed2eed49812bcfa4987e47ccc9eda7d2fbf8c0)
+++ src/AST/Node.hpp	(revision 18e683be9f9f150b044bdcfc96461f948a613ef9)
@@ -100,6 +100,6 @@
 
 /// Mutate a node field (only clones if not equal to existing value)
-template<typename node_t, typename field_t, typename assn_t>
-const node_t * mutate_field( const node_t * node, field_t node_t::* field, assn_t && val ) {
+template<typename node_t, typename parent_t, typename field_t, typename assn_t>
+const node_t * mutate_field( const node_t * node, field_t parent_t::* field, assn_t && val ) {
 	// skip mutate if equivalent
 	if ( node->*field == val ) return node;
@@ -112,7 +112,7 @@
 
 /// Mutate a single index of a node field (only clones if not equal to existing value)
-template<typename node_t, typename coll_t, typename ind_t, typename field_t>
+template<typename node_t, typename parent_t, typename coll_t, typename ind_t, typename field_t>
 const node_t * mutate_field_index(
-	const node_t * node, coll_t node_t::* field, ind_t i, field_t && val
+	const node_t * node, coll_t parent_t::* field, ind_t i, field_t && val
 ) {
 	// skip mutate if equivalent
