(EDIT: Gracias a Yoyo Zhou por señalar un fallo en este modelo -- Anders tiene el resultado final de la discusión en la nueva versión de su respuesta.)
Me ha gustado el Haskell de la respuesta de Anders, pero la pantalla de desbloqueo de Android (al menos en mi teléfono con Froyo) sigue siendo más permisiva de lo que él …