Cada implementación es el resultado de varias decisiones de diseño; por ejemplo: