We need to check how/if this will work with normal arguments on the step methods; e.g. 

this.Given(_ => _.GivenThereAre__start__Cucumbers(Cucumber.African, _.Start), false)
           .And(_ => _.AndILikeAfricanCucumbers())
      .When(_ => _.WhenIEat__eat__Cucumbers(_.Eat), false)
      .Then(_ => _.ThenIShouldHave__left__Cucumbers(_.Left), false)
      .WithExamples(
             new[] { "Start", "Eat", "Left" },
             new object[] { 12, 5, 7 },
             new object[] { 20, 5, 17 })
       .BDDfy();