case-classes best practices equals variables hashCode
functions
def val by-name definitions by-value termination
higher-order functions functions currying
unit return type
Option filter
return type return statement best practices
best practices override interfaces traits trait inheritance
import
evaluation expressions termination Boolean expressions reduction rules