I have a simple S3 bucket 'MyBucket' declared alongside an IAM Role 'MyBucketRole', if I attempt to access the bucket's ARN via:
{ "Fn::GetAtt": ["MyBucket", "Arn"] }
it will throw:
Template error: resource MyBucket does not support attribute type Arn in Fn::GetAtt

However, if I attempt to access the ARN via:
{ "Fn::GetAtt": [{"Fn::GetAtt": ["MyBucket", "BucketName"]}, "Arn"] }
it works fine.

Under normal Serverless circumstance the first option works fine, am I being silly or is this a legitimate/known issue?

It also appears that the working version only works if the resource is already deployed. If attempting to launch both bucket and role attached to bucket at the same time, results in the following error:

ERROR:localstack.services.cloudformation.cloudformation_starter: Unable to parse and create resource "MyBucketRole": unhashable type: 'dict'

Serverless also throws a 500 error.

**The following log may also help**, 
This occurs when attempting to get the resource's ARN upon launching it in the same stack as the role attempting to reference it:

```
2019-09-09T13:22:54:ERROR:localstack.services.cloudformation.cloudformation_starter: Unable to parse and create resource "MyBucketRole": 400 Bad Request: <ErrorResponse xmlns="http://cloudformation.amazonaws.com/doc/2010-05-15/">
  <Error>
    <Type>Sender</Type>
    <Code>ValidationError</Code>
    <Message>Template error: resource MyBucket does not support attribute type Arn in Fn::GetAtt</Message>
  </Error>
  <RequestId>cf4c737e-5ae2-11e4-a7c9-ad44eEXAMPLE</RequestId>
</ErrorResponse>
```
if attribute_name in ['Arn', 'QueueArn']:
            return aws_stack.sqs_queue_arn(queue_name=self.name)
        return SQS_Queue_get_cfn_attribute_orig(self, attribute_name)
    SQS_Queue_get_cfn_attribute_orig = sqs_models.Queue.get_cfn_attribute
    sqs_models.Queue.get_cfn_attribute = SQS_Queue_get_cfn_attribute
    
    @property
    def SQS_Queue_physical_resource_id(self):
        result = SQS_Queue_physical_resource_id_orig.fget(self)
        if '://' not in result:
            
            return aws_stack.get_sqs_queue_url(result)
        return result
    SQS_Queue_physical_resource_id_orig = sqs_models.Queue.physical_resource_id
    sqs_models.Queue.physical_resource_id = SQS_Queue_physical_resource_id
    
    def Lambda_Function_get_cfn_attribute(self, attribute_name):
        try:
            if attribute_name == 'Arn':
                return self.function_arn
            return Lambda_Function_get_cfn_attribute_orig(self, attribute_name)
        except Exception:
            if attribute_name in ('Name', 'FunctionName'):
                return self.function_name
            raise
    Lambda_Function_get_cfn_attribute_orig = lambda_models.LambdaFunction.get_cfn_attribute
    lambda_models.LambdaFunction.get_cfn_attribute = Lambda_Function_get_cfn_attribute
    
    def DynamoDB_Table_get_cfn_attribute(self, attribute_name):