@Override public Stream convertToMonadicForm(Object f) { return StreamSupport.stream(((Iterable)AsDecomposable.asDecomposable(f).unapply()).spliterator(),false); }
/** * @return New Stream */ default Stream<T> stream(){ Object streamable = getStreamable(); if(streamable instanceof Stream) return (Stream)streamable; if(streamable instanceof Iterable) return StreamSupport.stream(((Iterable)streamable).spliterator(), false); return new InvokeDynamic().stream(streamable).orElseGet( ()-> (Stream)StreamSupport.stream(asDecomposable(streamable) .unapply() .spliterator(), false)); }