The fact that `holding` is a string instead on an array is used to indicate error conditions is convoluted.

We should either change this to an exception or at least add a comment describing the situation.