docs: def _get_args(cls, args):
          # type: (tuple) -> Tuple[type, slice, Callable]
          """Return the parameters necessary to check type boundaries.
  
          Args:
              args: A tuple with one or two parameters: A type to cast the
                  value passed, and a predicate function to use for bounds
                  checking.
  
          Returns:
              A tuple with three parameters: a type, a slice, and the predicate
              function. If no type was passed in args, the type defaults to Any.
          """
          if isinstance(args, tuple):
              if not len(args) == 2:
                  raise TypeError(
                      "{}[...] takes one or two argument.".format(cls.__name__)
                  )
              return super(_ValidationBoundedMeta, cls)._get_args(
                  (args[0], None, args[1])
              )
          return super(_ValidationBoundedMeta, cls)._get_args((Any, None, args))