Started trying to refactor NextSteps semirings into a common parent, but got bogged down.
cleaning up