anchor.diff:      parse_endpoint(ParsedUri, DefaultSSLOpts);
   parse_endpoint(_, _) ->
       false.
  +
  +scheme_port(http) ->
  +    80;
  +scheme_port(https) ->
  +    443;
  +scheme_port(_) ->
  +    %% unknown scheme
  +    80.
   
   maybe_add_scheme_port(Uri=#{port := _Port}) ->
       Uri;
  
positive.code: -include_lib("opentelemetry_api/include/opentelemetry.hrl").
  -include_lib("opentelemetry/include/otel_span.hrl").
  
  -define(DEFAULT_ENDPOINTS, [#{host => "localhost",
                                path => [],
                                port => 4318,
                                scheme => "http"}]).
  -define(DEFAULT_PORT, 4318).
  -define(DEFAULT_TRACES_PATH, "v1/traces").
  
  -type headers() :: [{unicode:chardata(), unicode:chardata()}].
  
negative.code: init(Opts) ->
      Opts1 = merge_with_environment(Opts),
      SSLOptions = maps:get(ssl_options, Opts1, undefined),
      Headers = headers(maps:get(headers, Opts1, [])),
      Compression = maps:get(compression, Opts1, undefined),
      case maps:get(protocol, Opts1, http_protobuf) of
          grpc ->
              Endpoints = endpoints(maps:get(endpoints, Opts1, ?DEFAULT_GRPC_ENDPOINTS), SSLOptions),
              ChannelOpts = maps:get(channel_opts, Opts1, #{}),
              UpdatedChannelOpts = case Compression of
                                     undefined -> ChannelOpts;
  