parameters functions
higher-order functions polymorphic method
access modifiers qualifiers
syntax parentheses
return type return statement NonLocalReturnException syntax
higher-order functions functions currying
definitions val by-value by-name def
unit return type
functions recursion
return type best practices type inference