I want to obtain the argument of a TensorProduct as a list of elements by applying another function.
For example, I wish to write a function h which, when applied to a tensor product, produces the arguments as follows
h[TensorProduct[a__]]:={a}
However, this doesn't work. The output is simply
TensorProduct[a]
Strangely it works for heads different from TensorProduct. For example
h[g[a__]]:={a}
works.
I can get the right output by doing for example
h[TensorProduct[a__]]:=List@@TensorProduct[a]
but why can I not just extract the argument in the previous way?