Because object.di is just the header file to object_.d, but as we're currently not able to generate the header automatically we need to maintain both. Another reason is that unit tests only run on object_.d.