Компилятор видит SimpleCarBuilder как имя вашего универсального типа, а не как фактический тип для использования. Он не может преобразовать фактический тип SimpleCarBuilder в параметр универсального типа с именем SimpleCarBuilder, который может фактически представлять любой тип.
Если вы используете функцию абстрактного класса реализации, вы увидите, что компилятор использует T в качестве имени параметра универсального типа.