I don't know if the following explanation seems too basic or redundant
to you, I'm sorry if that is the case, but it might help if you don't
understand high order functions very well:
In my description of the declarative meaning of the definition I
understood this: "map (x:) (cinits xs)" as add th
I find it easier to understand when looking at the declarative meaning
of the definition. There is the trivial case of the empty list, but for
the non-empty list:
The possible inits of the list is the empty list and the inits of the
"rest of the list" with the "head" element it their front.
The e