\cs_gset:Npn \__text_expand_explicit:N #1
{
\token_if_cs:NTF #1
{\__text_expand_exclude:N #1}
{
\bool_lazy_and:nnTF
{ \token_if_active_p:N #1 }
{
! \bool_lazy_or_p:nn
{ \token_if_protected_macro_p:N #1 }
{ \token_if_protected_long_macro_p:N #1 }
}
{ \exp_after:wN \__text_expand_loop:w #1 }
{ \__text_expand_store:n {#1} \__text_expand_loop:w }
}
}