Sadly I'm away from my bookshelf but I think Concurrent ML solved this issue.