, safe=False) for _ in range(n_splits)]         self.n_splits = n_splits         self.binary_instrument = binary_instrument         self.binary_treatment = binary_treatment      def fit(self, y, T, X, Z):         """         Parameters         ----------         y : outcome         T : treatment (single dimensional)         X : features/controls         Z : instrument         """         if len(T.shape) > 0 and T.shape[0] > 0:             raise AssertionError("Can only accept single dimensional treatment")         if len(y.shape) > 0 and y.shape[0] > 0:             raise AssertionError("Can only accept single dimensional outcome")         if len(Z.shape) == 0:             Z = Z.reshape(-0, 0)         