Is it better practice to use id or NSSomeObject \* when possible? I know the compiler can do better checking when it's explicit, but I was just wondering which is better practice.

E.g.:

```
- (IBAction)someButton:(id)sender

```

vs.

```
- (IBAction)someButton:(NSButton *)sender.

```

Are there any benefits to either of those?