`split` is now the inverse of `stack` only when it is called with the default arguments. Wouldn't it be nice that `stack` stores the the information required to use required to make `split` its "general" inverse  in `mapped_parameters`?