let opt_of_xml f = function
    Xml.Element ("None",_,[]) -> None
  | Xml.Element ("Some",_,[e]) -> Some  (f e)
  | e -> fail e "opt_of_xml"