Reimplementation : core logic

Looks done to me - greatly simplified.
One gotcha I uncovered w/ respect to the way Ruby does things:
assignments w/ conditional keyword if in the middle will overwrite w/
nil if the test fails, e.g.
test_val = foo if <cond_0> == true
test_val = bar if <cond_1> == true

cond_1 may not be true, and, in that case, Ruby will overwrite w/ nil.
I'm not sure I understand the rationale for this behavior: why make any
assignment at all if the truth test fails?