case-classes variables best practices hashCode equals
namespace
sealed class match expression pattern matching
match expression tableswitch pattern matching switch lookupswitch
functions recursion
val termination def by-value by-name definitions
Option filter
inheritance interfaces traits best practices trait override
return type return statement best practices
import