"C2000000+" is a slice at the North Pole. But Decode() will accept "F2000000+" and return a CodeArea with latitude values of 110 degrees.
Now that I think about it, Decode() has no way of signaling an error other than returning an invalid CodeArea, so maybe the solution is to add an IsValid() method to CodeArea.