Adjusts priors for the latent variables

        Parameters
        ----------
        index : int or list[int]
            Which latent variable index/indices to be altered

        prior : Prior object
            Which prior distribution? E.g. Normal(0,1)

        Returns
        ----------
        None (changes priors in Parameters object)

def adjust_prior(self,index,prior):
        """ Adjusts priors for the latent variables

        Parameters
        ----------
        index : int or list[int]
            Which latent variable index/indices to be altered

        prior : Prior object
            Which prior distribution? E.g. Normal(0,1)

        Returns
        ----------
        None (changes priors in Parameters object)
        """

        if isinstance(index, list):
            for item in index:
                if item < 0 or item > (len(self.z_list)-1) or not isinstance(item, int):
                    raise ValueError("Oops - the latent variable index " + str(item) + " you have entered is invalid!")
                else:
                    self.z_list[item].prior = prior 
                    if hasattr(self.z_list[item].prior, 'mu0'):
                        self.z_list[item].start = self.z_list[item].prior.mu0    
                    elif hasattr(self.z_list[item].prior, 'loc0'):
                        self.z_list[item].start = self.z_list[item].prior.loc0
        else:
            if index < 0 or index > (len(self.z_list)-1) or not isinstance(index, int):
                raise ValueError("Oops - the latent variable index " + str(index) + " you have entered is invalid!")
            else:
                self.z_list[index].prior = prior
                if hasattr(self.z_list[index].prior, 'mu0'):
                    self.z_list[index].start = self.z_list[index].prior.mu0  
                elif hasattr(self.z_list[index].prior, 'loc0'):
                    self.z_list[index].start = self.z_list[index].prior.loc0