While I was fiddling with Pointer Events, I found that pointermove events fires twice on exactly same coordinate if I touch iPad with Apple Pencil.
The specification says:
A user agent MUST fire a pointer event named pointermove when a pointer changes coordinates. Additionally, when a pointer changes button state, pressure, tangential pressure, tilt, twist, or contact geometry (e.g. width and height) and the circumstances produce no other pointer events defined in this specification then a user agent MUST fire a pointer event named pointermove.
So I quickly wrote a simple "event logger", which just dumps all the properties of PointerEvent to the textarea.
https://jsfiddle.net/xb8jgptw/18/show
If I swipe the screen with Apple Pencil, pointermove fires twice on every coordinate, without changing any properties:

With my finger, it works as expected:

Though it is easy to handle this problem (just ignore every other event), I just want to know why is this happening or if this is the expected behavior.