Index: src/ResolvExpr/CandidateFinder.cpp
===================================================================
--- src/ResolvExpr/CandidateFinder.cpp	(revision 5cf1228fbb704ea7ccef879b4c60f16486335b9a)
+++ src/ResolvExpr/CandidateFinder.cpp	(revision aa144c5a17c8f493581d5ea84ae91a7011c6631d)
@@ -269,6 +269,6 @@
 			unsigned nextArg, unsigned tupleStart = 0, Cost cost = Cost::zero,
 			unsigned nextExpl = 0, unsigned explAlt = 0 )
-		: parent(parent), expr( expr ), cost( cost ), env( move( env ) ), need( move( need ) ),
-		  have( move( have ) ), open( move( open ) ), nextArg( nextArg ), tupleStart( tupleStart ),
+		: parent(parent), expr( expr ), cost( cost ), env( std::move( env ) ), need( std::move( need ) ),
+		  have( std::move( have ) ), open( std::move( open ) ), nextArg( nextArg ), tupleStart( tupleStart ),
 		  nextExpl( nextExpl ), explAlt( explAlt ) {}
 
@@ -276,6 +276,6 @@
 			const ArgPack & o, ast::TypeEnvironment && env, ast::AssertionSet && need,
 			ast::AssertionSet && have, ast::OpenVarSet && open, unsigned nextArg, Cost added )
-		: parent( o.parent ), expr( o.expr ), cost( o.cost + added ), env( move( env ) ),
-		  need( move( need ) ), have( move( have ) ), open( move( open ) ), nextArg( nextArg ),
+		: parent( o.parent ), expr( o.expr ), cost( o.cost + added ), env( std::move( env ) ),
+		  need( std::move( need ) ), have( std::move( have ) ), open( std::move( open ) ), nextArg( nextArg ),
 		  tupleStart( o.tupleStart ), nextExpl( 0 ), explAlt( 0 ) {}
 
@@ -301,5 +301,5 @@
 			// reset pack to appropriate tuple
 			std::vector< ast::ptr< ast::Expr > > exprv( exprs.begin(), exprs.end() );
-			expr = new ast::TupleExpr{ expr->location, move( exprv ) };
+			expr = new ast::TupleExpr{ expr->location, std::move( exprv ) };
 			tupleStart = pack->tupleStart - 1;
 			parent = pack->parent;
@@ -404,5 +404,5 @@
 								newResult.open, symtab )
 						) {
-							finalResults.emplace_back( move( newResult ) );
+							finalResults.emplace_back( std::move( newResult ) );
 						}
 
@@ -423,6 +423,6 @@
 						if ( expl.exprs.empty() ) {
 							results.emplace_back(
-								results[i], move( env ), copy( results[i].need ),
-								copy( results[i].have ), move( open ), nextArg + 1, expl.cost );
+								results[i], std::move( env ), copy( results[i].need ),
+								copy( results[i].have ), std::move( open ), nextArg + 1, expl.cost );
 
 							continue;
@@ -431,6 +431,6 @@
 						// add new result
 						results.emplace_back(
-							i, expl.exprs.front(), move( env ), copy( results[i].need ),
-							copy( results[i].have ), move( open ), nextArg + 1, nTuples,
+							i, expl.exprs.front(), std::move( env ), copy( results[i].need ),
+							copy( results[i].have ), std::move( open ), nextArg + 1, nTuples,
 							expl.cost, expl.exprs.size() == 1 ? 0 : 1, j );
 					}
@@ -444,5 +444,5 @@
 			// splice final results onto results
 			for ( std::size_t i = 0; i < finalResults.size(); ++i ) {
-				results.emplace_back( move( finalResults[i] ) );
+				results.emplace_back( std::move( finalResults[i] ) );
 			}
 			return ! finalResults.empty();
@@ -478,5 +478,5 @@
 
 					results.emplace_back(
-						i, expr, move( env ), move( need ), move( have ), move( open ), nextArg,
+						i, expr, std::move( env ), std::move( need ), std::move( have ), std::move( open ), nextArg,
 						nTuples, Cost::zero, nextExpl, results[i].explAlt );
 				}
@@ -494,6 +494,6 @@
 					if ( unify( paramType, cnst->result, env, need, have, open, symtab ) ) {
 						results.emplace_back(
-							i, new ast::DefaultArgExpr{ cnst->location, cnst }, move( env ),
-							move( need ), move( have ), move( open ), nextArg, nTuples );
+							i, new ast::DefaultArgExpr{ cnst->location, cnst }, std::move( env ),
+							std::move( need ), std::move( have ), std::move( open ), nextArg, nTuples );
 					}
 				}
@@ -516,5 +516,5 @@
 				if ( expl.exprs.empty() ) {
 					results.emplace_back(
-						results[i], move( env ), move( need ), move( have ), move( open ),
+						results[i], std::move( env ), std::move( need ), std::move( have ), std::move( open ),
 						nextArg + 1, expl.cost );
 
@@ -538,5 +538,5 @@
 					// add new result
 					results.emplace_back(
-						i, expr, move( env ), move( need ), move( have ), move( open ),
+						i, expr, std::move( env ), std::move( need ), std::move( have ), std::move( open ),
 						nextArg + 1, nTuples, expl.cost, expl.exprs.size() == 1 ? 0 : 1, j );
 				}
@@ -576,5 +576,5 @@
 					restructureCast( idx, toType->getComponent( i ), isGenerated ) );
 			}
-			return new ast::TupleExpr{ arg->location, move( components ) };
+			return new ast::TupleExpr{ arg->location, std::move( components ) };
 		} else {
 			// handle normally
@@ -672,5 +672,5 @@
 			}
 			std::vector< ast::ptr< ast::Expr > > vargs( args.begin(), args.end() );
-			appExpr->args = move( vargs );
+			appExpr->args = std::move( vargs );
 			// build and validate new candidate
 			auto newCand =
@@ -783,6 +783,6 @@
 							if ( expl.exprs.empty() ) {
 								results.emplace_back(
-									results[i], move( env ), copy( results[i].need ),
-									copy( results[i].have ), move( open ), nextArg + 1,
+									results[i], std::move( env ), copy( results[i].need ),
+									copy( results[i].have ), std::move( open ), nextArg + 1,
 									expl.cost );
 
@@ -792,6 +792,6 @@
 							// add new result
 							results.emplace_back(
-								i, expl.exprs.front(), move( env ), copy( results[i].need ),
-								copy( results[i].have ), move( open ), nextArg + 1, 0, expl.cost,
+								i, expl.exprs.front(), std::move( env ), copy( results[i].need ),
+								copy( results[i].have ), std::move( open ), nextArg + 1, 0, expl.cost,
 								expl.exprs.size() == 1 ? 0 : 1, j );
 						}
@@ -843,5 +843,5 @@
 				// as a member expression
 				addAnonConversions( newCand );
-				candidates.emplace_back( move( newCand ) );
+				candidates.emplace_back( std::move( newCand ) );
 			}
 		}
@@ -901,5 +901,5 @@
 							const ast::EnumDecl * enumDecl = enumInst->base;
 							if ( const ast::Type* enumType = enumDecl->base ) {
-								// instance of enum (T) is a instance of type (T) 
+								// instance of enum (T) is a instance of type (T)
 								funcFinder.otypeKeys.insert(Mangle::mangle(enumType, Mangle::NoGenericParams | Mangle::Type));
 							} else {
@@ -907,5 +907,5 @@
 								funcFinder.otypeKeys.insert(Mangle::mangle(enumDecl, Mangle::NoGenericParams | Mangle::Type));
 							}
-						} 
+						}
 						else funcFinder.otypeKeys.insert(Mangle::mangle(argType, Mangle::NoGenericParams | Mangle::Type));
 					}
@@ -986,5 +986,5 @@
 					funcE.emplace_back( *func, symtab );
 				}
-				argExpansions.emplace_front( move( funcE ) );
+				argExpansions.emplace_front( std::move( funcE ) );
 
 				for ( const CandidateRef & op : opFinder ) {
@@ -1030,8 +1030,8 @@
 				if ( cvtCost != Cost::infinity ) {
 					withFunc->cvtCost = cvtCost;
-					candidates.emplace_back( move( withFunc ) );
-				}
-			}
-			found = move( candidates );
+					candidates.emplace_back( std::move( withFunc ) );
+				}
+			}
+			found = std::move( candidates );
 
 			// use a new list so that candidates are not examined by addAnonConversions twice
@@ -1131,5 +1131,5 @@
 					CandidateRef newCand = std::make_shared<Candidate>(
 						restructureCast( cand->expr, toType, castExpr->isGenerated ),
-						copy( cand->env ), move( open ), move( need ), cand->cost,
+						copy( cand->env ), std::move( open ), std::move( need ), cand->cost,
 						cand->cost + thisCost );
 					inferParameters( newCand, matches );
@@ -1285,5 +1285,5 @@
 				// as a name expression
 				addAnonConversions( newCand );
-				candidates.emplace_back( move( newCand ) );
+				candidates.emplace_back( std::move( newCand ) );
 			}
 		}
@@ -1394,5 +1394,5 @@
 						new ast::LogicalExpr{
 							logicalExpr->location, r1->expr, r2->expr, logicalExpr->isAnd },
-						move( env ), move( open ), move( need ), r1->cost + r2->cost );
+						std::move( env ), std::move( open ), std::move( need ), r1->cost + r2->cost );
 				}
 			}
@@ -1452,5 +1452,5 @@
 							// output candidate
 							CandidateRef newCand = std::make_shared<Candidate>(
-								newExpr, move( env ), move( open ), move( need ), cost );
+								newExpr, std::move( env ), std::move( open ), std::move( need ), cost );
 							inferParameters( newCand, candidates );
 						}
@@ -1519,5 +1519,5 @@
 						// add candidate
 						CandidateRef newCand = std::make_shared<Candidate>(
-							newExpr, move( env ), move( open ), move( need ),
+							newExpr, std::move( env ), std::move( open ), std::move( need ),
 							r1->cost + r2->cost );
 						inferParameters( newCand, candidates );
@@ -1548,6 +1548,6 @@
 
 				addCandidate(
-					new ast::TupleExpr{ tupleExpr->location, move( exprs ) },
-					move( env ), move( open ), move( need ), sumCost( subs ) );
+					new ast::TupleExpr{ tupleExpr->location, std::move( exprs ) },
+					std::move( env ), std::move( open ), std::move( need ), sumCost( subs ) );
 			}
 		}
@@ -1635,5 +1635,5 @@
 								initExpr->location, restructureCast( cand->expr, toType ),
 								initAlt.designation },
-							move(env), move( open ), move( need ), cand->cost, thisCost );
+							std::move(env), std::move( open ), std::move( need ), cand->cost, thisCost );
 						inferParameters( newCand, matches );
 					}
@@ -1768,5 +1768,5 @@
 		cand->env.applyFree( newResult );
 		cand->expr = ast::mutate_field(
-			cand->expr.get(), &ast::Expr::result, move( newResult ) );
+			cand->expr.get(), &ast::Expr::result, std::move( newResult ) );
 
 		out.emplace_back( cand );
@@ -1854,5 +1854,5 @@
 
 		auto oldsize = candidates.size();
-		candidates = move( pruned );
+		candidates = std::move( pruned );
 
 		PRINT(
