O'Reilly logo
  • Mashrur Mia thinks this is interesting:

def reduce(environment) case first when DoNothing.new [second, environment] else reduced_first, reduced_environment = first.reduce(

From

Cover of Understanding Computation

Note

if first.reducible? reduced_first, reduced_environment = first.reduce(environment) [ Sequence.new(reduced_first, second), reduced_environment] else [second, environment] end

why not this?