why does collide2 take ints?

Just wondering: why does collide2(int o1, int o2) use ints instead of longs? Geom.getId().getSwigCPtr() returns a long, so an explicit cast is needed (which worries me because we are chopping the high-order bits off of the pointer). Is this a problem?