Racket currently has something like this for certain operators. `. -> . ` will allow the arrow to sit in between inputs and outputs in contracts.
AFAIK it works for any operator that takes two operands (or more, but it makes less sense to be using it with three or more operands.)
e.g:
> '(arg0 . operator . arg1 arg2)
'(operator arg0 arg1 arg2)