The specific section you’re changing in your PR needs a bigger rework, as I mentioned in Spec change: Clarify that `tuple` should not be prohibited as an argument to `type` - #7 by Jelle . Certainly type[Literal] is more obviously nonsensical than type[Callable].
Callable is in fact currently a special form because it is listed as such in Type annotations — typing documentation . Whether it should be a special form is a different question. It would be nice if Callable can just be a regular Protocol with a __call__ method, but as discussed in this thread, we’re not quite there yet.