Better support for optional parameter lists preceding code blocks

I once suggested something similar in a thread of old; perhaps the time for this particular beast has now come: Clause Interweaving, allowing `def f[T](x: T)[U](y: U)` - #11 by odd