Are all the casts just here to convince eliom it's not polymorphic ?