class_docstr: Blocked step method that is generalized to accept vectors of variables.
  
  Parameters
  ----------
  vars: list
      List of value variables for sampler.
  fs: list of logp PyTensor functions
  allvars: Boolean (default False)
  blocked: Boolean (default True)
class_docstr_tok: ["Blocked","step","method","that","is","generalized","to","accept","vectors","of","variables",".","Parameters","--","--","--","--","--","vars",":","list","List","of","value","variables","for","sampler",".","fs",":","list","of","logp","PyTensor","functions","allvars",":","Boolean","(","default","False",")","blocked",":","Boolean","(","default","True",")"]
code: def step(self, point: PointType) -> Tuple[PointType, StatsType]:
      partial_funcs_and_point: List[Union[Callable, PointType]] = [
          DictToArrayBijection.mapf(x, start_point=point)
          for x in self.fs
      ]
      if self.allvars:
          partial_funcs_and_point.append(point)
  
      var_dict = {
          cast(str, v.name): point[cast(str, v.name)] for v in self.vars
      }
      apoint = DictToArrayBijection.map(var_dict)
      apoint_new, stats = self.astep(apoint, *partial_funcs_and_point)
  
      if not isinstance(apoint_new, RaveledVars):
          # We assume that the mapping has stayed the same
          apoint_new = RaveledVars(apoint_new, apoint.point_map_info)
  
      point_new = DictToArrayBijection.rmap(
          apoint_new, start_point=point
      )
  
      return point_new, stats
  
imports: from abc import abstractmethod
  from typing import Callable, List, Tuple, Union, cast
  import numpy
  from numpy.random import uniform
  from pymc.blocking import DictToArrayBijection, PointType, RaveledVars, StatsType
  from pymc.model import modelcontext
  from pymc.step_methods.compound import BlockedStep
  from pymc.util import get_var_name
label_desc: Use image node_id 2 for calling the ArrayStep obj's underlying member method code with example usage: obj.step(point) and returns: point_new,  stats