@override Map<String, dynamic> toJson(Either<L, R> either) => either.fold<Map<String, dynamic>>( (left) => {'l': left}, (right) => {'r': right});