Delegations embody two major features, they are done on one element and
its sub-elements, they can be overriden with other delegations or choices.
At first, I thought delegations could form a cycle without any trouble: ie
person A delegate her voice to B, B to C, C to A (A->B->C->A).
But after two weeks trying to come up with some algorithm, I finally gave up,
so delegations which could result to a cycle are now refused.
Another difficulty was determining the number of voices given to choices,
the tree of delegations potentially leading to very complex calculations. To
handle that, sub-delegations are introduced at every step in the tree to
propagate overriding choices or delegations.