A long discussion in #1830 about the validate_data location.
We have discussed that in the group meeting.
If we ensure all class has all implementation when necessary, it might be easier without feature class.
However, we need to have them all before release. Otherwise, we will mislead user.
Feature class or function in one of base class (PolymorphicObject(current) vs LinOp)?
I do not hold that pr by requiring the decision now because the classes other than matrix might be trivial to add.