@_generative()
def _options(self, conditional, *args):
    self._attributes = self._attributes.copy()
    opts = tuple(util.flatten_iterator(args))
    self._with_options = (self._with_options + opts)
    if conditional:
        for opt in opts:
            opt.process_query_conditionally(self)
    else:
        for opt in opts:
            opt.process_query(self)
@_generative()
def _options(self, conditional, *args):
    self._attributes = self._attributes.copy()
    opts = tuple(util.flatten_iterator(args))
    self._with_options = (self._with_options + opts)
    if conditional:
        for opt in opts:
            opt.process_query_conditionally(self)
    else:
        for opt in opts:
            opt.process_query(self)