class_docstr: A TreeMutationProposer is responsible for generating samples from tree space
  It is capable of generating proposed TreeMutations
class_docstr_tok: ["A","TreeMutationProposer","is","responsible","for","generating","samples","from","tree","space","It","is","capable","of","generating","proposed","TreeMutations"]
docstr: Propose a mutation to make to the given tree
  
  Parameters
  ----------
  tree: Tree
      The tree to be mutate
  
  Returns
  -------
  TreeMutation
      A way to update the input tree
docstr_tok: ["Propose","a","mutation","to","make","to","the","given","tree","Parameters","--","--","--","--","--","tree",":","Tree","The","tree","to","be","mutate","Returns","--","--","--","-","TreeMutation","A","way","to","update","the","input","tree"]
code: def propose(self, tree: Tree) -> TreeMutation:
      """
      Propose a mutation to make to the given tree
  
      Parameters
      ----------
      tree: Tree
          The tree to be mutate
  
      Returns
      -------
      TreeMutation
          A way to update the input tree
      """
      raise NotImplementedError()
  
file_path: imodels/imodels/experimental/bartpy/samplers/treemutation.py
imports: import numpy
  from abc import abstractmethod, ABC
  from typing import Optional, Tuple
  from ..model import Model
  from ..mutation import TreeMutation
  from ..samplers.sampler import Sampler
  from ..tree import Tree
label_desc: Use image node_id 1 for calling the TreeMutationProposer obj's underlying member method code with example usage: obj.propose(tree) without return types