Это оказалось и проще, и сложнее чем я думал.
Во-первых, реализацию для вложенных матчей я не смог написать, зато скала кушает вложенные паттерны, для которых реализация пишется.
Во-вторых, нашел какой-то странный баг (или я на ночь чет не так сделал)
https://scastie.scala-lang.org/mupHSCBVReefiZcwCSNBRQесли закомментить строчку с фейлящимся check, то можно увидеть, что код то работает и собирается, лол
АПИ таплов оч далеко еще от идеала. Комменты не дописаны, методов не хватает