let list_of = function
    | (Value _|Data _|Loc _|Interval _|Range _) as d -> [d]
    | List xs -> xs
    | Set _ -> assert false