Typesafe crossover