implicit defhlistPatch1[N <: Nat, M <: Nat, H, T <: HList, In <: HList](implicit patch: Patcher[N, M, T, In]): Patcher[Succ[N], M, ::[H, T], In] { type Out = shapeless.::[H,patch.Out] }
implicit defhlistPatch2[M <: Nat, L <: HList, In <: HList, OutL <: HList](implicit drop: Drop.Aux[L, M, OutL], prepend: Prepend[In, OutL]): Patcher[_0, M, L, In] { type Out = prepend.Out }