I doubt this is a performance issue, because it&#x27;s the same pattern Phoenix uses to respond to an html request. Phoenix is very fast despite passing the much larger Plug.Conn struct through a much larger number of functions that similarly update one thing and return a new copy.<p>I&#x27;d also be curious to know what happens with GC behind the scenes for this pattern to be so performant - I don&#x27;t know anything about that part.