I'm running a Next 14.1 app, with app router. I just made a reducer and a context, along with some types, all in their separate files. The types are located at root/types/product.ts, the reducer at root/lib/reducers/cart.ts and the context provider at root/components. They all automatically recognize the types, and the cotext provider client component even recognizes the reducer passed into the useContext hook - without med importing anything.
How is this possible?