Regardless of whether we pick shorthand, longhand or hybrid form, we need to decide on what the repr() of such an object would be. E.g. in an interactive session, if I print a callable type object, what will it print?
>>> a = (int, int) -> int
>>> a
(int, int) - int
>>>
or perhaps
>>> a
(__0: int, __1: int, /) -> int
>>>
or maybe
>>> a
callable[[int, int], int]
>>>
or
>>> a
<callable: (int, int) -> int>
>>>
???