Developing thinking in algebra - Mason, John (Sage, 2005)