Adicionando novo valor ao fluxo existente

Existe uma boa maneira de adicionar um novo valor aos existentesStream? Tudo o que posso imaginar é algo assim:

public <T> Stream<T> addToStream(Stream<T> stream, T elem ) {
    List<T> result = stream.collect(Collectors.toList());
    result.add(elem);
    return result.stream();
}

Mas estou procurando algo mais conciso que possa usar na expressão lambda sem verbosidade.

Outra pergunta apareceu quando tentei implementarPECS princípio:

public <T> Stream<? super T> addToStream(Stream<? super T> stream, T elem ) {
    List<? super T> result = stream.collect(Collectors.toList()); //error
    result.add(elem);
    return result.stream();
}

Parece que o curinga não funciona comStream.collect e eu estou me perguntando o porquê. Desde já, obrigado.

questionAnswers(3)

yourAnswerToTheQuestion