docs: @Override
    public Streamlet<R> union(Streamlet<? extends R> otherStreamlet) {
      checkNotNull(otherStreamlet, "otherStreamlet cannot be null");
  
      StreamletImpl<? extends R> joinee = (StreamletImpl<? extends R>) otherStreamlet;
      UnionStreamlet<R> retval = new UnionStreamlet<>(this, joinee);
      addChild(retval);
      joinee.addChild(retval);
      return retval;
    }