Ну вот эта мысль мне первой в голову пришла, но там такой код получается убогий…Думал мб есть более крисивое решение
я так понял, что для тебя "красивое решение" это покороче код. но это не так.
код должен быть в первую очередь понятен как тебе, так и тем, кто его будет поддерживать после тебя.
это конечно круто в 5 строчек всунуть кучу функционала, но на практике от этого только хуже, потому что понимание кода затрудняется в разы.
в твоём случае это универсальный тип, иногда это может быть добавление флага в функцию, вместо того, чтоб написать другую функцию, или использование одной переменной в разных контекстах, ну и таких мелочей куча.
короче имхо это не круто.