Error messages here seem to be quite inconsistent to my eye:
```
scala> object * { def unapply(v: Any): Option[(Any, Any)] = Some((v, v)) }
defined object $times

scala> 'x match { case a * b => }

scala> 'x match { case a *  => }
<console>:1: error: illegal start of simple pattern  // OK
       'x match { case a *  => }
                            ^
<console>:1: error: '=>' expected but '}' found. // ???
       'x match { case a *  => }
                               ^
scala> ('x, 'y) match { case (a*b, c*d) => }

scala> ('x, 'y) match { case (a*b, c*) => }
<console>:1: error: illegal start of simple pattern // OK
       ('x, 'y) match { case (a*b, c*) => }
                                     ^
scala> ('x, 'y) match { case (a*, c*d) => }
<console>:1: error: illegal start of simple pattern // OK
       ('x, 'y) match { case (a*, c*d) => }
                                ^
scala> List('x, 'y) match { case List(a*b, c*d) => }

scala> List('x, 'y) match { case List(a*b, c*) => }
<console>:1: error: use _* to match a sequence  // I really don't want to match a sequence, I promise. 
       List('x, 'y) match { case List(a*b, c*) => }
                                             ^
scala> List('x, 'y) match { case List(a*, c*d) => }
<console>:1: error: trailing * is not a valid pattern // Why is this different from similar case with tuples? The error isn't helping to figure out what's going on.
       List('x, 'y) match { case List(a*, c*d) => }
                                        ^
```
What do you think about telling people about illegal start of simple pattern at all times and giving suggestions in parenthesis?