@Test void noSpanKindTreatedSameAsClient() {
    List<Span> trace = List.of(
      span("a", null, "a", null, "some-client", "web", false),
      span("a", "a", "b", null, "web", "app", false),
      span("a", "b", "c", null, "app", "db", false)
    );

    assertThat(new DependencyLinker().putTrace(trace).link()).containsOnly(
      DependencyLink.newBuilder().parent("some-client").child("web").callCount(1L).build(),
      DependencyLink.newBuilder().parent("web").child("app").callCount(1L).build(),
      DependencyLink.newBuilder().parent("app").child("db").callCount(1L).build()
    );
  }
A loopback span is direction-agnostic, so can be linked properly regardless of kind.
zipkin/src/test/java/zipkin2/internal/DependencyLinkerTest.java