Fine-grained parallelism in a lazy functional language door M. Beenster