Padrão ativo quebrado em F # 3.0

Este padrão ativo compila com F # 2.0:

let (|Value|_|) value = // 'a -> 'T option
  match box value with
  | :? 'T as x -> Some x
  | _ -> None

mas, em F # 3.0, emite o erro:

Padrão ativo '| Valor | _ |' tem um tipo de resultado contendo variáveis ​​de tipo que não são determinadas pela entrada. A causa comum é um [sic] quando um caso de resultado não é mencionado, por ex. 'let (| A | B |) (x: int) = A x'. Isso pode ser corrigido com uma restrição de tipo, por exemplo 'let (| A | B |) (x: int): escolha = A x'

Eu tentei:

let (|Value|_|) value : 'T option = ...

e:

let (|Value|_|) (value: 'U) = ...

Como isso pode ser corrigido?

Ambientes: Visual Studio 2012 (RTM) e FSI v11.0.50727.1

EDIT: Aqui está uma repro simples:

let (|X|) x = unbox x

questionAnswers(4)

yourAnswerToTheQuestion