I think the closest thing I can think of that describes a "thingToList" kind of thing you are talking about would be the "Foldable" and "Traversable" class:
However it is not exactly as you described, there is no direct conversion of a "Thing" data structure to an actual list data structure.
The problem with converting data structures like Trees into lists structures is that this can be inefficient. Instead, think of the reason you want to have a list object: because you want to perform scan through the list to find an element, or you want to perform a fold, yes?
So instead of converting to a list and then applying a fold or map function, it is much better to pass a mapping function to a higher-order function like "mapM," or "sequence," or pass a folding function a higher-order function like "foldM", and allow these higher-order functions scan through the data structure without converting it to a list first.