To achieve type safety normally involves a shared interfaces folder and has to be specifically implemented