WYRL: working on non-deterministic pattern matching.
WYRL: still working on non-deterministic pattern matching.