Consider such code
val x = Some(5)
val y = 5
"false" will be printed. Actually, Scala compares those entities in such way that it will be ALWAYS false, so it is indication user didn't want to write the way she/he did (same case when you compare Int to null for example – you will get at least warning). But here – nothing, compiler happily compiles the code.
a) compiler should evaluate None == Value always to false, and Some(Value) == Value always to true (I prefer such solution)
b) forbid comparing Option[T] to T (compiler error)
b.1) or at least warning