code: def get_tree_sampler(p_grow: float, p_prune: float):
      proposer = UniformMutationProposer(p_grow, p_prune)
      likelihood = UniformTreeMutationLikelihoodRatio([p_grow, p_prune])
      return UnconstrainedTreeMutationSampler(proposer, likelihood)
  
file_path: imodels/imodels/experimental/bartpy/samplers/oblivioustrees/treemutation.py
imports: from typing import Optional, List
  import numpy
  from ...model import Model
  from ...mutation import TreeMutation
  from ...samplers.sampler import Sampler
  from ...samplers.scalar import UniformScalarSampler
  from ...samplers.treemutation import TreeMutationLikelihoodRatio
  from ...samplers.treemutation import TreeMutationProposer
  from ...samplers.oblivioustrees.likelihoodratio import UniformTreeMutationLikelihoodRatio
  from ...samplers.oblivioustrees.proposer import UniformMutationProposer
  from ...tree import Tree, mutate
label_desc: Use image node_id 1 for calling a global function with example usage: get_tree_sampler(p_grow, p_prune) and returns: UnconstrainedTreeMutationSampler