import pry.atoms, pry.stream;
alias S = SimpleStream!string;
with(parsers!S){
auto p = range!('a', 'z').optional;
auto s = "a".stream;
Nullable!dchar c;
S.Error err;
assert(p.parse(s, c, err));
assert(c == 'a');
assert(s.empty);
assert(p.parse(s, c, err));
assert(c.isNull);
}
Try to apply parser, produce null on failure.