Yes, because my folder works both with `F[X] :: F[Y] :: HNil` and `F[X] :: Y :: HNil`. In the latter case, `implicitly[Applicative[F]].pure` is used to turn `Y` into `F[Y]`.

With `Rule`, the benefit may be arguable (one is able to include pure values, e.g. `x` that will turn into `Rule(_ ⇒ Succes(x))`), but if you want to lift `Option(3) :: 4 :: 5 :: HNil` into `Option[Int :: Int :: Int :: HNil]`, it lets you get away without wrapping all the values into `Option` yourself.