I know the example is a bit rubbish (just importing a basic type from 1 project into another, and the other way around). My actual reason (in a private project) for needing recursive dependencies is because I use tRPC for 2-way connection between 2 programs and each project needs to import the AppRouter type from the other project.