parameters functions
best practices variables equals hashCode case-classes
Option
Boolean expressions expressions termination reduction rules evaluation
unit return type
namespace
lookupswitch match expression tableswitch switch pattern matching
functions recursion
import
best practices interfaces override traits inheritance trait