I see more and more code repetition here... we could think about a private function that returns a custom requires decorator.