`( Foo:foo )?` never binds `foo`. Similar to pattern matching in Civet.
( Foo:foo )?never bindsfoo. Similar to pattern matching in Civet.