(bind-func world_equal
(lambda (w1 w2)
(if (or (<> (world_width w1)
(world_width w2))
(<> (world_height w1)
(world_height w2)))
#f
(let ((data1 (world_data w1))
(data2 (world_data w2))
(size (world_data_size w1))
(count 0))
(while (and (< count size)
(= (pref data1 count)
(pref data2 count)))
(set! count (+ count 1)))
(= size count)))))