fused::front does not need parameter pack
remove some variables
simplify eat and otherwise
no default template in eat
use eat in for_each
no trailing ellipsis in back_impl