I've been playing with the library, trying to capture collision events. I've found a few things:
The brute force and grid collision systems both check to ensure a CollisionSkin isn't added twice (routine AddCollisionSkin), yet sweep-and-prune system doesn't. This caused me grief - I had objects colliding with themselves. Personally, I'd probably throw an exception when the skin is added twice instead of generating a debug message, since this indicates a logic error.
I'm seeing lots of collisions between immovable objects (both objects are immovable). This is just overhead in my opinion, since nothing is done with the collision. Is there are reason why the library checks two immovable objects to see if they've collided? If this behaviour is by design, is there anything I can do to my immovable objects so they don't collide with each other?