This comment rather than a correction, is a suggestion that may turn out to require a ticket of it's own... or even be rejected.  Since I haven't seen this used anywhere else in the project, I'll just post the idea here so you can decide if to implement it with the assertions we have, scrap it or have me create a new ticket to have our own set of assertion types.

I've found it extremely useful to not only check for nil values but also check for the correct class type on input params.  This is because it's not entirely difficult in Objective-C to have a bad cast that tricks the eye such as:

`SomeClass *instance = (SomeClass*)[[SomeOtherClass alloc] init];`

So an "ugly" way to add support for this kind of check is something along the lines of:

```
NSParameterAssert(xmlrpcRemote && [xmlrpcRemote isKindOfClass[BlogServiceRemoteXMLRPC class]]);
NSParameterAssert([restRemote isKindOfClass[BlogServiceRemoteREST class]]);
```

And a nicer way would be:

```
WPAssertClass(xmlrpcRemote, BlogServiceRemoteXMLRPC);
WPAssertClassOrNil(restRemote , BlogServiceRemoteREST);
```