anchor.diff:  
   new_stream(Pid, CallbackMod, CallbackOpts, NotifyPid) ->
       gen_statem:call(Pid, {new_stream, CallbackMod, CallbackOpts, NotifyPid}).
  +
  +%% @doc `new_stream/6' accepts Headers so they can be sent within the connection process
  +%% when a stream id is assigned. This ensures that another process couldn't also have
  +%% requested a new stream and send its headers before the stream with a lower id, which
  +%% results in the server closing the connection when it gets headers for the lower id stream.
  +-spec new_stream(pid(), module(), term(), hpack:headers(), send_opts(), pid()) -> {stream_id(), pid()} | {error, error_code()}.
  +new_stream(Pid, CallbackMod, CallbackOpts, Headers, Opts, NotifyPid) ->
  +    gen_statem:call(Pid, {new_stream, CallbackMod, CallbackOpts, Headers, Opts, NotifyPid}).
   
   -spec send_promise(pid(), stream_id(), stream_id(), hpack:headers()) -> ok.
   send_promise(Pid, StreamId, NewStreamId, Headers) ->
  
positive.code:     new_stream_(From, CallbackMod, CallbackOpts, NotifyPid, Conn);
  handle_event({call, From}, {new_stream, CallbackMod, CallbackState, NotifyPid}, Conn) ->
      new_stream_(From, CallbackMod, CallbackState, NotifyPid, Conn);
  handle_event({call, From}, is_push,
                    #connection{
                       peer_settings=#settings{enable_push=Push}
  
negative.code:          new_stream/1,
           new_stream/2,
           new_stream/4,
           new_stream/6,
           send_promise/4,
           get_response/2,
           get_peer/1,
  