LGTM
https://codereview.appspot.com/559500043/diff/559510043/lily/grob.cc File lily/grob.cc (right): https://codereview.appspot.com/559500043/diff/559510043/lily/grob.cc#newcode733 lily/grob.cc:733: while (unsmob<Grob> (cause)) I appreciate that issuing warnings is not performance-sensitive, and that you simply transplanted this code, but what do you think about avoiding repeating the unsmob, to set a good example? Something like ... while (const Grob *g = unsmob<Grob> (cause)) { cause = g->get_property ("cause"); } https://codereview.appspot.com/559500043/