Zaslat SMS: The right kind of generic programming