Если функция должна возвращать одно из небольшого числа типов, вы можете вернуть ей класс с определенными расширяющимися преобразованиями этих типов. Я не думаю, что это можно сделать общим способом, поскольку расширяющийся оператор ctype не принимает общий параметр типа.
Для меня моим Mac OS является Мохаве. и я сталкиваюсь с той же проблемой в течение трех дней и в конце, я просто пишу корректный путь в .bash_profile файле, который похож на это:
export PATH=/Users/[YOURNAME]/development/flutter/bin:$PATH
при использовании MAC Catalina, необходимо обновить .zshrc файл вместо .bash_profile или .profile