Envoyer par SMS: Generic Programming for Domain Reasoners