That's the whole point of what Scala is doing.
Allow flexibility to support such requirements later on, without forcing people to break source and binary compatibility, unlike in Java, C# etc.
That's the reason why you can e. g. implement or override a def with a val.