def reduce_by(self, package_request):
if self.pr:<EOL><INDENT>reqstr = _short_req_str(package_request)<EOL>self.pr.passive("<STR_LIT>", self, reqstr)<EOL><DEDENT>if self.solver.optimised:<EOL><INDENT>if package_request in self.been_reduced_by:<EOL><INDENT>return (self, [])<EOL><DEDENT><DEDENT>if (package_request.range is None) or(package_request.name not in self.fam_requires):<EOL><INDENT>return (self, [])<EOL><DEDENT>with self.solver.timed(self.solver.reduction_time):<EOL><INDENT>return self._reduce_by(package_request)<EOL><DEDENT>
Remove variants whos dependencies conflict with the given package
        request.

        Returns:
            (VariantSlice, [Reduction]) tuple, where slice may be None if all
            variants were reduced.