title: Terraform Module with Count Can't Have Duplicate Elements
body: <p>Tricky one to explain in a title, or even form a question around it, so I'll start with some code (simplified for, err, simplicity):</p>
  
  <pre><code>resource "digitalocean_domain" "this_domain" {
    name       = "${var.domain}"
    ip_address = "${var.main_ip}"
  }
  
  resource "digitalocean_record" "this_a_record" {
    count  = "${length(var.a_records)}"
  
    domain = "${var.domain}"
    type   = "A"
    name   = "${element(keys(var.a_records), count.index)}"
    value  = "${lookup(var.a_records, element(keys(var.a_records), count.index))}"
  }
  </code></pre>
  
  <p>Given the above being part of a module called <code>dns</code>, I can call it like this:</p>
  
  <pre><code>module "example_com_dns" {
    source = "./modules/dns"
  
    domain  = "example.com"
    main_ip = "1.2.3.4"
  
    a_records = {
      "@"    = "5.6.7.8"
      "self" = "9.10.11.12"
      "www"  = "5.6.7.8"
    }
  }
  </code></pre>
  
  <p>Running this works as expected. I get the <code>A</code> records I expect; @, self, www, all pointing to the correct IPs.</p>
  
  <p>However, it can't handle duplicate names. For example, putting in multiple <code>@</code> records results in only one of them being written, I'm guessing because each iteration for the name simply overwrites the previous <code>@</code> record.</p>
  
  <p>Is there a way to have multiple duplicate names? i.e. In the example above, have something like:</p>
  
  <pre><code>    ....
      "@" = "5.6.7.8"
      "@" = "20.21.22.23"
      "@" = "30.31.32.33"
      "self" = "9.10.11.12"
      "www" = 5.6.7.8"
      ...
  </code></pre>