What is the difference between
object Application extends App { println(\"Hello World\") }
and
object Application {
App trait is implemented using the [[DelayedInit]] functionality, which means that fields of the object will not have been initialized before the main method has been executed.