Stream.zipOptional and a better Stream.startsWith