Is there a known deconstruction of the list/backtracking applicative functor (AF)?  If I decompose the list type into pieces (Maybe, product, composition), I think I can see where the ZipList AF comes from, but not the list/backtracking AF.  Is there some construction simpler than lists (non-recursive) that introduces cross products?

Thanks,  - Conal