Encode the value. This needs to be public because it is used by encodeValue() from different types. @internal
@override Uint8List encodeValue(x) { throw 'Empty cannot appear as a function argument'; }