def METHOD_NAME(self, step):
    candidates = self.steps[step.step_type]
    more_steps = self.steps["step"]
    if step.step_type != "step" and more_steps:
        # -- ENSURE: self.step_type lists are not modified/extended.
        candidates = list(candidates)
        candidates += more_steps
    for step_definition in candidates:
        result = step_definition.match(step.name)
        if result:
            return result
    return None