I'll go with ValueError. If a TypeError is thrown here, I'd consider this a programming error since it shouldn't be called with an Object.