code: func parseValues(d, e rune, vs url.Values, canIndexFirstLevelOrdinally bool) node {
  	// NOTE: Because of the flattening of potentially multiple strings to one key, implicit indexing works:
  	//    i. At the first level;   e.g. Foo.Bar=A&Foo.Bar=B     becomes 0.Foo.Bar=A&1.Foo.Bar=B
  	//   ii. At the last level;    e.g. Foo.Bar._=A&Foo.Bar._=B becomes Foo.Bar.0=A&Foo.Bar.1=B
  	// TODO: At in-between levels; e.g. Foo._.Bar=A&Foo._.Bar=B becomes Foo.0.Bar=A&Foo.1.Bar=B
  	//       (This last one requires that there only be one placeholder in order for it to be unambiguous.)
  
  	m := map[string]string{}
  	for k, ss := range vs {
  		indexLastLevelOrdinally := strings.HasSuffix(k, string(d)+implicitKey)
  
  		for i, s := range ss {
  			if canIndexFirstLevelOrdinally {
  				k = strconv.Itoa(i) + string(d) + k
  			} else if indexLastLevelOrdinally {
  				k = strings.TrimSuffix(k, implicitKey) + strconv.Itoa(i)
  			}
  
  			m[k] = s
  		}
  	}
  
  	n := node{}
  	for k, s := range m {
  		n = n.split(d, e, k, s)
  	}
  	return n
  }
docs: // TODO: Add tests for implicit indexing.