Foreach usage in randomization constraints

In reply to peterjin:

We can’t have multiple dist constraints on the same random variable with different sets of values.
So this is just pseudo code like stuff.

constraint c_value { 
    foreach (a[i])
      value dist { [a[i]:b[i]] :/ c[i] };
}

solver failure because that code looks like this:
value has 5 different dist constraints and conflict to each other

constraint c_value { 
      value dist { [a[0]:b[0]] :/ c[0] };
      value dist { [a[1]:b[1]] :/ c[1] };
      value dist { [a[2]:b[2]] :/ c[2] };
      value dist { [a[3]:b[3]] :/ c[3] };
      value dist { [a[4]:b[4]] :/ c[4] };
}

and it seems compiler doesn’t support this yet.
so it’s tough to making bath-tub curve smooth (depending on giving dynamic array size, e.g. a/b/c size),

any good way to making long dist block short, I don’t have a good idea yet.

constraint c_value { 
    value dist { 
       foreach (a[i])
         [a[i]:b[i]] :/ c[i];
    };
}