functions recursion
Option
sealed class match expression pattern matching
by-name definitions def by-value val
equals case-classes variables best practices hashCode
match expression switch pattern matching tableswitch lookupswitch
higher-order functions polymorphic method
namespace
Option filter
by-name definitions def by-value val termination