Question: I had a question about the return statement that is by itself in the control flow.

```
var rockPaperScissors = function(n) {  
    var rounds = n;
    var results = [];

    var weapons = ['rock', 'paper', 'scissors'];

    var recurse = function(roundsLeft, played) {
        if( roundsLeft === 0) {
            results.push(played);
            return;
        }

        for(var i = 0; i<weapons.length; i++) {
            var current = weapons[i];
            recurse( roundsLeft-1, played.concat(current) );
        }
    };

    recurse(rounds; []);
    return results;
}

```

I was wondering why the return statement is not written as:

```
return results.push(played);

```

Is there any benefits? If so, why and when should you write it that way?

Answer: 
You don't need to find the item, you can use `wxMenuBar::IsChecked()`, which will do it for you, directly. And you can either just store the menu bar in `self.menuBar` or retrieve it from the frame using its `GetMenuBar()` method.
Use the event to access the data you want. 

```
print event.Id
print event.Selection # returns 1 if checked 0 if not checked 
print event.IsChecked() # returns True if checked False if not checked

```

print out all of the attributes with:

```
print dir(event)

```