combines this matcher with other matcher appending result of other matcher at the end *
combines two matcher'r result to resulting hlist, and advances path between them *
combines two matcher'r result to resulting hlist *
prepends result of other matcher before the result of this matcher *
like map
but instead (L:HList) => B, takes ordinary function *