end-to-end type safety