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>
>>>

???

--
--Guido van Rossum (python.org/~guido)