Why do we view using the level of abstraction immediately below as cheating while the levels below that are taken for granted?