This work has outlined the difficulty in debugging type class errors. A solution was explored in the context of the Rust Programming Langugae with the intention of making these errors more explorable, and ultimately, easier repaired. However this work is not about Rust, nor is it specifically about type classes. The lens of type classes is used to explore the area of debugging complex logic structures, which are ever more prevalent in modern programming languages. This larger problem encompases many research areas with similar goals: type inference diagnostics, logic program debuggers, proof tree debugging, and the human factors of debugging. These areas should be able to pull ideas from each other to help human developers better understand failing logical mechanisms.