Pomoc w wyborze składni

Jakiś czas temu zacząłem klecić bibliotekę która dostarczałaby coś na kształt pattern-matchingu do Ruby. Działają w niej już całkiem nieźle inspirowane Erlangiem minimoduły, ale ciągle nie do końca umiem się zebrać odnoście samego głównego pattern-matchingu. W tym momencie muszę podjąć decyzję co do składni, jakiej użyję. Może moglibyście pomóc?

Szczegóły są w giście (tam również więcej linków): https://gist.github.com/katafrakt/f32c7f0e5add474a13ff7a791e7a7791

2 opcja jest o wiele czyteleniejsza.

Druga opcja ofc