method append_data = fun ?parent data -> let iter = self#append ?parent () in self#set_data data ~row:iter; iter