L'inférence des types peut être une solution au problème (Scala, Haskell ... )