Fix empty return statement issue (implements while4.decaf)
Returns with EmptyExprs generate the same bytecode as bare returns. Sometimes the parser generates ReturnStmt(Some(EmptyExpr)) rather than ReturnStmt(None) for bare return statements, but they're functionally identical.