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