Calling Hijack is declaring that you're taking ownership of the TCP connection from the http library.
The http library wants to operate under conditions that are known, and that it setup. Once we've given you the TCP connection, all bets are off. Who knows what you've done to it. The safest thing we can do (from a minimizing-confusion-and-misleading-bug-reports standpoint, especially) is to stay away.
If you want to write some headers, go for it. An http.Response or http.Headers can write itself wherever you tell them to.