Así como en cualquier otro tipo de computación, la elegancia y flexibilidad del “programa” final depende en gran medida de la elegancia de las definiciones de las estructuras de datos, alrededor de las que se dispone el resto de elementos.