grid_object : operator() returns value and not const ref (to allow tails); update diff with abs comparison