So I have a function in our application's Business Edits assembly (which references the Data Access assembly) which I've found a need to use in the Data Access assembly. I like the idea of keeping the business rules together, but if I want to use the function I obviously have to move it. So what I've decided to do is move the function to our bottom-level Helpers assembly and have the current Business Edits function call the Helpers function. That way the function is still discoverable in the Business Edits assembly but usable in the DataAccess assembly.
This solution feels wrong, but is this actually a terrible thing to do? If so, why, and what's the best alternative?