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