g e >>|
         abort "Shit, an assignment, figure out something with storing vars or something"
         //vars will be on stack in locals (possible pointers to heap)
-    g (FunStmt _ _) = abort "CodeGen FunStmt unused" //not used
-    g (ReturnStmt Nothing)  = tell [Instr "ret" [] ""]
+    g (FunStmt _ _) = abort "CodeGen, FunStmt unused" //not used
+    g (ReturnStmt Nothing)  = tell [Instr "ret" [] ""] //NOTE! Assumes only return address on stack, safe?
     g (ReturnStmt (Just e)) = 
         g e >>|
         tell [Instr "str" [Raw "RR"] ""] >>|