unit void return type
access modifiers qualifiers
termination reduction rules evaluation expressions Boolean expressions
return type return statement
functions recursion
namespace
sealed class
import
termination evaluation by-value by-name if-else conditional expressions
equals best practices variables case-classes hashCode