I think making them utilise a higher order function might be over the top, but they should probably be next to one another and produced at the same time with duel inputs.
Another part of this work will be to have the degreematrix determined by a source degree, like the pitchmatrix, rather than from a root offset as it is at the moment. There should then be a layer of fact building which determines the starting degree from the input pozition.
This fact building layer will probably be a useful abstraction for eventually allowing getHarpStrata to potentially accept root pitch rather than harp key.
They essentially have identical logic.
I think making them utilise a higher order function might be over the top, but they should probably be next to one another and produced at the same time with duel inputs.
Another part of this work will be to have the degreematrix determined by a source degree, like the pitchmatrix, rather than from a root offset as it is at the moment. There should then be a layer of fact building which determines the starting degree from the input pozition.
This fact building layer will probably be a useful abstraction for eventually allowing getHarpStrata to potentially accept root pitch rather than harp key.