Fixed backwards invariant. Invariant should check optimistic case, how something _should_ be, else throw an exception