I consider changing a bit D's range model following the better understanding reflected in this article: http://erdani.com/publications/on-iteration.html If you have any thoughts and if you can help with the implementation, please let us know. Andrei