Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision b7c53a9de3b2c69e7ae86f96b2157dd3de16e3b9)
+++ src/InitTweak/InitTweak.cc	(revision f496046ba2faf27a2bbae7028f7005b58ac592ee)
@@ -891,6 +891,5 @@
 				dst = new ast::AddressExpr(dst);
 			}
-		}
-		else {
+		} else {
 			dst = new ast::CastExpr(dst, new ast::ReferenceType(dst->result, {}));
 		}
@@ -900,5 +899,9 @@
 			}
 		}
-		return new ast::ApplicationExpr(dst->location, ast::VariableExpr::functionPointer(dst->location, assign), {dst, src});
+		auto var = ast::VariableExpr::functionPointer(dst->location, assign);
+		auto app = new ast::ApplicationExpr(dst->location, var, {dst, src});
+		// Skip the resolver, just set the result to the correct type.
+		app->result = ast::deepCopy( src->result );
+		return app;
 	}
 
