higher-order functions
unit void return type
namespace
return type return statement
def by-name by-value val definitions
case-classes best practices variables equals hashCode
parameters functions
higher-order functions polymorphic method
sealed class
access modifiers qualifiers