fixed a bug that caused a future to be lock in a recursion if mapped inside itself