(p: AB) => void
в функцию (p: A) => void
за счёт того, что помалкивает на счёт разных типов аргумента.Int1
мы имеем дело с методом типа (p: A) => void
(this опустим из рассмотрения), при этом фактически там будет (p: AB) => void
, если это будет объект класса Class1
Ничего не понятно.