Static[hasAssert that JavaScript's x is the proper type represented by this
Type.
InternalEncode the value. This needs to be public because it is used by encodeValue() from different types.
Implement I in the IDL spec.
Encode this type for the type table.
Represents an IDL Empty, a type which has no inhabitants. Since no values exist for this type, it cannot be serialised or deserialised. Result types like
Result<Text, Empty>should always succeed.