pub fn decode(ty: &Ty, json: &Value) -> Result<Value, String>
Decode a snapshot JSON value strictly against its declared type: no coercion, no default, every record field required, no extra field.