higher-order functions functions currying
return type return statement
parameters functions
infix notation arity-1
case-classes equals variables best practices hashCode
by-name conditional expressions termination evaluation if-else by-value
sealed class
functions recursion
return type return statement NonLocalReturnException syntax