Make decode just return a value

These are unexpected conditions and we're just going to fail anyway