code: def best_split(self, ind, dep):
          
          if isinstance(dep, ContinuousColumn):
              return self.best_con_split(ind, dep)
          else:
              return self.best_cat_heuristic_split(ind, dep)
docs: determine which splitting function to apply