> two interfaces or concepts requiring a routine of the same name and arguments > either have to share it type A = concept x p x B = concept x q x C = distinct int D = distinct int proc p(v: C) = discard proc q(v: D) = discard proc r(v: A) = echo "r for A" proc r(v: B) = echo "r for B" var c = 5.C d = 7.D r c # -> r for A r d # -> r for B
They do not share it. May be I did not understand you correctly...