-rnStmt rn_expr (GuardStmt expr src_loc) thing_inside
- = pushSrcLocRn src_loc $
- rn_expr expr `thenRn` \ (expr', fv_expr) ->
- thing_inside (GuardStmt expr' src_loc) `thenRn` \ (result, fvs) ->
- returnRn (result, fv_expr `plusFV` fvs)
-
-rnStmt rn_expr (ReturnStmt expr) thing_inside
- = rn_expr expr `thenRn` \ (expr', fv_expr) ->
- thing_inside (ReturnStmt expr') `thenRn` \ (result, fvs) ->
- returnRn (result, fv_expr `plusFV` fvs)
-
-rnStmt rn_expr (LetStmt binds) thing_inside