higher-order functions
higher-order functions functions currying
definitions val by-value def by-name
best practices inheritance traits interfaces override trait
functions recursion
higher-order functions polymorphic method
lookupswitch pattern matching match expression switch tableswitch
definitions val by-value termination def by-name
parameters functions
unit return type