add functor-infix

(cherry picked from commit b5c219d5dcb45f7a8ebd0557ae2b782a0e53b5d0)