Lots of modifiers are allowed on objects, but they do not seem to have any semantics.
In fact, you can have a
sealed final abstract case object Foo
But sadly
abstract object Foo {
def x : String
}
doesn't compile, haha.
Perhaps those modifiers should be reported as errors?