The code uses \tl_new:N \l_tmpc_tl and \tl_new:N \l_tmpd_tl.
Other packages may have the same idea (creation of new draft token lists after the existing ones \l_tmpa_tl and \l_tmpb_tl), I think it would be better to use \tl_clear_new:N instead of \tl_new:N in order to avoid clashes.