To cleanly support defaulting optional reference type parsers to null I believe we need something like:
public static TokenListParser<TKind, T?> OptionalOrNull<TKind, T>(
this TokenListParser<TKind, T> parser)
where T: notnull
{
return parser != null ? parser.Select(r => (T?)r).Or(Parse.Return<TKind, T?>(default)) : throw new ArgumentNullException(nameof (parser));
}
}
To cleanly support defaulting optional reference type parsers to
nullI believe we need something like: