On line 4517 of pike_types.c match_types() is run without checking the return value. It does have the side effect of running clear_markers(), but is that really the intention? I checked, and the other 47 times match_types() is called the return value is examined.