docs: def validate(self):
          """
          Error check model params.
  
          :raises TypeError: Throws TypeError if validation fails.
  
          """
          if self.nregions is None:
              raise TypeError("neutral regions cannot be None")
          if self.sregions is None:
              raise TypeError("selected regions cannot be None")
          if self.recregions is None:
              raise TypeError("recombination regions cannot be None")
          if self.demography is None:
              raise TypeError("demography cannot be None")
          if self.prune_selected is None:
              raise TypeError("prune_selected cannot be None")
          if self.gvalue is None:
              raise TypeError("gvalue cannot be None")
          if self.rates is None:
              raise TypeError("rates cannot be None")