`T1?|T2?` is now parsed as `T1?`, whose correct form should be `(T1|T2)?` or `T1|T2|nil` or `field? T1|T2`. But many libraries (e.g. neovim plugins) are using this incorrect form. This misuse is so prevalent that should we consider making this form legal?