ну вот я и говорю - выкинь их хаскеля паттерн матчинг, и ты на нем не сможешь вообще ничего. совсем.
И о чем это свидетельствует? По мне - о правильном подходе, когда единственная, не самая сложная, языковая фича избавляет от костылей, которых в С++ 100500