Right now we smuggle hout HumanSolvePossibleSteps and CompoundSolveStep.ScoreExplanation. Both are just revealed for i-sudoku, but I wish that other users of the library didn't have to be distracted by them. I don't think there's a way to handle the structuring of the library better, but I wish there were. :-(
One way would be to have an Internals object that has the offending functions that take the receiver as the first argument. That way the internals object can be exported but obviously not intended for use.
Right now we smuggle hout HumanSolvePossibleSteps and CompoundSolveStep.ScoreExplanation. Both are just revealed for i-sudoku, but I wish that other users of the library didn't have to be distracted by them. I don't think there's a way to handle the structuring of the library better, but I wish there were. :-(