Those typechecks are important for the base classifier (decision tree), which require this input layout. If not, the decision tree might loose a large amount of type coercing X to the proper layout.

By the way thanks to @pprett, this should be faster with ` X = np.asfortranarray(array2d(X), dtype=DTYPE)`