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