parameters functions
definitions val def by-value by-name
infix notation arity-1
access modifiers qualifiers
return type return statement NonLocalReturnException syntax
sealed class
equals case-classes best practices hashCode variables
definitions val termination def by-value by-name
functions recursion