Вот как я кстати
Ну значит постараюсь причесать код и закоммичу в паблик, а там думаю ребята быстро подхватят и помогут до ума довести )
Я сначала инлеллисенс хотел портировать, но оказалось, что там существенная часть кода отвечает за вычисление типов в выражении, а в Снегопате ты отличное API для работы с типами реализовал и эта часть существенно упрощается, поэтому решил переписать с нуля, дополнительно логически разделив часть кода, отвечающего за определение типа самой левой части выражения (исходной переменной) в отдельные эвристики (две написал выше), и часть, которая вычислением типа остальной части выражения занимается (учитывая все "точки" в выражении).
Благодаря этому можно будет управлять приоритетами (определять по префиксу или по комментарию с описанием типа например) или вообще отключать в настройках какие-то способы определения типа (например, отключить проверку типов по комментариям, если предпочитают использовать префиксы).