以下のようなリストがあった場合に、Someの要素のみを取り出す方法を教えてください。

let xs = [ Some 10; None; Some 30; Some 2; None ]

単にfilterしただけだと、Someが残ってしまいますが、Someだけを取り出しているのでこれを取り除きたいです。

let res =
  xs
  |> List.filter Option.isSome
  |> List.map Option.get // [ 10; 30; 2 ]

これで一応実現はできますが、(Option.isSomeでフィルタしているから大丈夫だとはいえ)Option.getを使っているのが危険な感じがして気持ち悪いです。