А :string просто хинт для компилятора.
окей, все это понял, а почему invokeCode конструктора в этом примере - просто возвращает даункаст аргумента-стринга ? я так понимаю что тип который будет генерироваться это не стринг а какой-то другой, но тут почему-то возвращает стринг просто