Description
@amueller asked me to open this issue.
When creating new estimators using any of the base classes, or inheriting from any of the main sklearn classes, there is no complete list (or any list?) of all of the checks that need to be run through to create a well-formed estimator or sklearn-compatible class. check_array covers a lot of things, but definitely nowhere near all things.
This is important, because the learning curve for contributing new classes and methods to sklearn is unnecessarily steep, and it would be much easier to contribute if there was, in the docs, a list of all the necessary checks that need to be run through for different types of estimators and sklearn classes, and a clear explanation of how and when the different checking utils should be used.