> It's not a weakness to integrate more information about the problem space into the solution. It's engineering.
You want your solution to depend on the right abstract model of the problem, not on the particulars of the problem.
Otherwise your solution is difficult to extend, and is generally expensive and error prone to change when your problem changes, which happens with 100% probability.
If a well established abstraction solves the problem, then that's just a particular known about the solution space.
If your data changes, your problem changes. We only ever solve particular problems, given the distribution, shape and density characteristics of input data.
You want your solution to depend on the right abstract model of the problem, not on the particulars of the problem.
Otherwise your solution is difficult to extend, and is generally expensive and error prone to change when your problem changes, which happens with 100% probability.