Improve this `unpipe` function?

Is the idea here to unpipe everything next/down from the current zipper? I think your code would turn this

socket
|> assign(:foo, "foo" |> String.trim())

into this:

assign(socket, :foo, String.trim("foo"))

Is that what you’re aiming for?