anchor.diff:  -type metadata() :: trails:metadata(swagger_map()).
   -export_type([swagger_map/0, metadata/0]).
   
  --define(SWAGGER_2_0, swagger_2_0).
  --define(OPENAPI_3_0_0, openapi_3_0_0).
  --type swagger_version() :: ?SWAGGER_2_0
  -                         | ?OPENAPI_3_0_0.
  +-type swagger_version() :: swagger_2_0
  +                         | openapi_3_0_0.
   -export_type([swagger_version/0]).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
positive.code:   map().
  schema(DefinitionName) ->
    case swagger_version() of
      ?SWAGGER_2_0 ->
        #{<<"$ref">> => <<"#/definitions/", DefinitionName/binary>>};
      ?OPENAPI_3_0_0 ->
        #{<<"$ref">> => <<"#/components/schemas/", DefinitionName/binary>>}
    end.
  
  
negative.code:               | parameters_definition_array().
  get_existing_definitions(CurrentSpec) ->
    case swagger_version() of
      swagger_2_0 ->
        maps:get(definitions, CurrentSpec, #{});
      openapi_3_0_0 ->
        case CurrentSpec of
          #{components :=
              #{schemas := Schemas }} -> Schemas;
  