> 1) "What does this code do"
>
>    range(1, 10).forEach( (i) -> System.out.println(i) );
Why would this be different from:
   for(int i=0; i<10; i++)
      println(i);
Or from the numerous methods that take half-open (start, end) pairs, 
like String.substring?