anchor.diff:  tap_points([{_, _Endpoint, _}]) ->
       %% Nothing more to do.
       [];
  -tap_points([{_, of_port, _}, connected_to | [{_, of_port, _} | _] = Tail]) ->
  +tap_points([{_, of_port, _}, bound_to | [{_, of_port, _} | _] = Tail]) ->
       tap_points(Tail);
  -tap_points([{_, of_port, _}, connected_to | [{_, _Endpoint, _} | _] = Tail]) ->
  +tap_points([{_, of_port, _}, bound_to | [{_, _Endpoint, _} | _] = Tail]) ->
       tap_points(Tail);
  -tap_points([{_, _Endpoint, _}, connected_to | [{_, of_port, _} | _] = Tail]) ->
  +tap_points([{_, _Endpoint, _}, bound_to | [{_, of_port, _} | _] = Tail]) ->
       tap_points(Tail);
   tap_points([{Port1, of_port, _}, part_of, {SwitchId, of_switch, _SwitchMetadata},
                 part_of | [{Port2, of_port, _} | _] = Tail]) ->
  
positive.code:             <<"port_of">> ->
                  %% Accept "port_of" as synonym for "part_of" for now.
                  <<"part_of">>;
              _ ->
                  ActualEdgeType
          end,
  
negative.code: bridge_points([{_, _Endpoint, _}]) ->
      %% Nothing more to do.
      [];
  bridge_points([{_, of_port, _}, bound_to | [{_, of_port, _} | _] = Tail]) ->
      bridge_points(Tail);
  bridge_points([{_, of_port, _}, bound_to | [{_, _Endpoint, _} | _] = Tail]) ->
      bridge_points(Tail);
  bridge_points([{_, _Endpoint, _}, bound_to | [{_, of_port, _} | _] = Tail]) ->
      bridge_points(Tail);
  bridge_points([{Port1, of_port, _}, part_of, {SwitchId, of_switch, _SwitchMetadata},
                part_of | [{Port2, of_port, _} | _] = Tail]) ->
  