&gt; 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 know that, but I&#x27;m not concerned about the <i>current, apparent</i> speed. I&#x27;m concerned about the &quot;death by a million cuts&quot; I&#x27;ve seen in other large apps I&#x27;ve worked on, where incremental tiny but unnecessary delays eventually add up to something significant. In my experience the only way to slow down that process is to be really anal about performance, memory consumption etc. with every line of code you write.