Not sure about `StreamInteface`. It's not trivial enough to throw it out.