This worries me a little, as it would cause problems if we ever implemented caching - was this being changed by the lack of a copy in `setInfoDict`?