This breaks `touch.js` use of `pointermap.size`, and violates the Map API.

I think we need to have a more generic function that wraps this.