This document, about the differences between Haskell and Purescript, says the following about the $
operator
GHC provides a special typing rule for the $ operator, so that the following natural application to the rank-2 runST function is well-typed:
runST $ do ...
PureScript does not provide this rule, so it is necessary to either
omit the operator: runST do ... or use parentheses instead: runST (do ...)
Which typing rule is meant by this? And how does this impact the example of runST
?