return type return statement
functions recursion
sealed class
higher-order functions
traits interfaces trait override inheritance best practices
definitions by-name def by-value val termination
namespace
return type return statement NonLocalReturnException syntax
higher-order functions polymorphic method
Option