docs: def bound_spec(self, name):
          """
          Returns an input selector or derived spec bound to the study, i.e.
          where the repository tree is checked for existing outputs
  
          Parameters
          ----------
          name : Str
              A name of a fileset or field
          """
          # If the provided "name" is actually a data item or parameter then
          # replace it with its name.
          if isinstance(name, BaseData):
              name = name.name
          # Get the spec from the class
          spec = self.data_spec(name)
          try:
              bound = self._inputs[name]
          except KeyError:
              if not spec.derived and spec.default is None:
                  raise ArcanaMissingDataException(
                      "Acquired (i.e. non-generated) fileset '{}' "
                      "was not supplied when the study '{}' was "
                      "initiated".format(name, self.name))
              else:
                  try:
                      bound = self._bound_specs[name]
                  except KeyError:
                      bound = self._bound_specs[name] = spec.bind(self)
          return bound