type defaultReporter … func (r *defaultReporter) PushStep(ps PathStep) { … } func (r *defaultReporter) Report(rs Result) { … } func (r *defaultReporter) PopStep() { … } // String provides a full report of the differences detected as a structured // literal in pseudo-Go syntax. String may only be called after the entire tree // has been traversed. func (r *defaultReporter) String() string { … } func assert(ok bool) { … }