Collect characteristics such as SIZED, ORDERED, etc for intermediate stream objects
Possible solution:
Stream trace: IntStream.of(1,2).sum()
can be replaced by:
IntStream s = IntStream.of(1,2);
Spliterators.IntSpliterator spliterator = s.spliterator();
int characteristics = spliterator.characteristics();
int result = StreamSupport.intStream(s, false).sum();
Currently, we have characteristics of the spliterator and the same execution order.
Obviously, need to handle collectly primitive streams and spliterator types.