I just hit a bug in this - the ARN class has the parameters in the order ```service, resource, region, account```.  However here its calling it with the resource being passed to the 4th positional arg (```account```)

The resulting ARN is wrong: 
```arn:aws:s3::mybucket:```  instead of ```arn:aws:s3:::mybucket```

Looks like all of the child classes are passing resource into the wrong positional argument in the parent class.