I just found it in the documentation:
If the body of a lambda is a statement expression (that is, an expression that would be allowed to stand alone as a statement), it is compatible with a void-producing function type; any result is simply discarded. So, for example, both of the following are legal:
Generally speaking, a lambda of the form () -> expr, where expr is a statement expression, is interpreted as either () -> { return expr; } or () -> { expr; }, depending on the target type.
source:
http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.27
Thank you so much for the clarification, Scott!