The definition of <hue> is given as:
<hue> = <number> | <angle> | none
However, most other definitions that make use of <hue> are specified as [<hue> | none].
The only one that isn't specified that way is the one describing the legacy color syntax of hsl(), in which none was not originally available—except it my understanding that none is now available even with legacy color syntax.
Which is correct? (It matters for the purposes of reusing definitions/code.)