made a design decision on labeler- complete labeling is the public interface for labeling and checking labelings, and it takes graph objects and labeling objects, while the helper functions take distance matrices to avoid recomputing them. The alternative to this would be to get graph objects to compute distance matrices once and store them, recomputing whenever the internals of the graph change. Both have merit, so we should talk about this at our meeting.