exercises from Well-Grounded Rubyists, 2nd Edition