Adding draft of the typed fusion algorithm