Native script (timelock), with the CBOR it arrived in.
Haskell memoizes these bytes (MemoBytes), and so does this: the script hash, the reference-script size and the encoder use them, and two native scripts are equal only if their bytes are. Build one with Native(timelock) or Native.fromCbor(cbor), and read its timelock with script or case Native(t).