return type return statement best practices
best practices data structures mutable immutable
case-classes best practices variables equals hashCode
override best practices traits interfaces trait inheritance
return type best practices type inference