adding more ideas
Cell now derives from CandidateSet
.remove renamed to .remove_candidate() and check Cell inherits it