Scala method and values names

Why this fails to compile: scala> val a? = true <console>:1: error: illegal start of simple pattern val a? = true ^ and this works? scala> val a_? = true a_?: Boolean =...