docs: private static Optional<String> getHomogeneousTypeName(Iterable<?> items) {
      Optional<String> homogeneousTypeName = Optional.absent();
      for (Object item : items) {
        if (item == null) {
          /*
           * TODO(cpovirk): Why? We could have multiple nulls, which would be homogeneous. More
           * likely, we could have exactly one null, which is still homogeneous. Arguably it's weird
           * to call a single element "homogeneous" at all, but that's not specific to null.
           */
          return Optional.absent();
        } else if (!homogeneousTypeName.isPresent()) {
          // This is the first item
          homogeneousTypeName = Optional.of(objectToTypeName(item));
        } else if (!objectToTypeName(item).equals(homogeneousTypeName.get())) {
          // items is a heterogeneous collection
          return Optional.absent();
        }
      }
      return homogeneousTypeName;
    }