Page 30 of Freeing Ruby