$って云うのはSyntax Sugar でもなんでもなくて、単なる中置演算子だから、

++ $ ってやると中置演算子が二つも並んでることになってParseErrorになる。

($) の定義自体は
f $ x = f x

と単に関数適用だけで、あれが上手い具合に働いてるのは infix の指定をよろしくやってるから。