Please can you clarify what is the meaning of this notation in Typescript and where to find documentation? Is typeA an alias of typeB? Does typeA extends also typeC and type