This syntax is [marked as experimental](https://hackage.haskell.org/package/shake-0.19.7/docs/Development-Shake.html#v:-63--61--61-). Can its limitations be easily summarised? To what extent should we be wary of using it?