Hello, For some reason I get different params format when encoding and decoding data. For example; ```javascript data: new r.Optional(new r.String('size', 'utf8'), (parent) => { console.log(parent) return !isBinaryType(parent.val?.type ?? parent.type) }), ``` When encoding I get :  But when decoding I get :  So when I decoding I get the `.val` that I get in encoding I that expected ?