Type-safe direction