Esta generalización proporciona una herramienta de programación