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