The expression \League\CommonMark\Util\..., $rest, $markerLength) of type null|integer is loosely compared to false; this is ambiguous if the integer can be zero. You might want to explicitly use === null instead.

In PHP, under loose comparison (like ==, or !=, or switch conditions),
values of different types might be equal.

For integer values, zero is a special case, in particular the following
results might be unexpected:

0==false// true0==null// true123==false// false123==null// false// It is often better to use strict comparison0===false// false0===null// false