Sorry -wasn't done.

What I was trying to say was that for array properties, the singular version of the property name is most useful, but if the plural and the  singular forms of the word are identical, we lose the ability to distinguish between them. If you look on line 68 of Types.rb, you can see where I am getting the names for the singular and plural versions of these methods, and then I use declare_method() to generate code for them. The way it is written now, I think that if they are the same, the plural method wins out.  

Perhaps we should be writing something like 
```
"SecurtityGroupEgressEntry" => "SecurityGroupEgress"
```
For the plural of these properties, or perhaps we should make it so that if the plural and the singular form are the same, we look carefully at the value we are passed (if any), and try to be a little smarter. Now that I look at it, the plural method (Types line 84) is not very smart. Perhaps we should leave the plurals hash the way it is and make the plural version of the property method behave better.

```ruby
# This one either adds or replaces the list of roles with the given list.
SecurityGroupEgress( [ <array of EC2SecurityGroupRoles> ])

# This one appends a single EC2SecurityGroupRole to the list and evaluates the block
# in the new object's context
SecurityGroupEgress {
  CidrIP "1.2.3.9/24"
  FromPort 80
  ToPort 80
}

# Then have this version create create new EC2SecurityGroupRoles for each element in the 
# array and evaluate the block with the array value:
SecurityGroupEgress( "1.2.3.0/24", "4.5.6.0/24") { |x|
  CidrIP x
  FromPort 80
  ToPort 80
}
```
What do you think?