Scala advanced language features