La complessità dell'algoritmo è progettata per essere indipendente dai dettagli di livello inferiore, ma si basa su un modello imperativo, ad esempio l'accesso alla matrice e la modifica di un nodo in un albero impiega il tempo O (1). Questo non è il caso di linguaggi puramente funzionali. L'elenco di Haskell richiede tempo lineare per l'accesso. La modifica di un nodo in un albero implica la creazione di una nuova copia dell'albero.
Dovrebbe quindi esistere una modellistica alternativa della complessità dell'algoritmo per i linguaggi funzionali?
ST
monadi).