public void OptParser() { var stream1 = new MemoryStream <char>("a".AsMemory()); var stream2 = new MemoryStream <char>("b".AsMemory()); var p = Combinator.Opt(Combinator.Char('a')); var r1 = p.Parse(stream1); var r2 = p.Parse(stream2); Assert.True(r1.IsOk); Assert.True(r2.IsOk); Assert.Equal('a', r1.Ok.Value); Assert.Equal(default, r2.Ok.Value);