Envoyer par SMS: Typed Contracts for Functional Programming