@override Map<String, dynamic> toJson() => <String, Object?>{ ...super.toJson(), 'type': type, 'length': length ?? -1, };