pub fn run<StepFn, Input, Output>(step: StepFn, input: Input) -> Outputwhere StepFn: Fn(Input) -> Next<Input, Output>,
Runs a step function aginast a particular input until it resolves to an output.