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