Page 52 of Freeing Ruby