return type return statement NonLocalReturnException syntax
case-classes equals variables best practices hashCode
trait override best practices inheritance interfaces traits
syntax parentheses
return type best practices type inference
by-name val definitions def by-value
by-name val termination definitions def by-value
reduction rules evaluation Boolean expressions termination expressions
by-name conditional expressions if-else evaluation by-value termination
Option