Detect and fail on invalid multiple instantiation

Using peerDependencies should prevent this situation, but we should fail
hard and early on invalid usage.