The following code depends on Mathematica 12.0.0:

```
D(Log(1 - 1/p^Cos(t)), {t, 4})
Unprotect(Plus);
Plus(x_?Positive, j_Gap) := 0;
Protect(Plus);
1 + 1
D(Log(1 - 1/p^Cos(t)), {t, 4})
```

The strange line 3 defines how to number objects with the head "gap". This is a structure that I define. (The right side of this line does not seem to matter, so I've set it to 0 for simplicity.) If you're just asking for a third derivative or a fourth derivative of a simpler function, there's no problem.

But here's the surprise (for me): Change "Gap" to "Gap" or to "Gappe" and the problem disappears. My guess is that somewhere deep in the trigger simplification triggered by this derivation is a variable or function named "Gap", and that somehow causes me problems on the surface.

My question is simply: **What did I do wrong?** Is this an error or is this behavior expected? Do I have to give up with the head "Gap"? Is there a safer way to overload built-in functions?