anchor.diff:              | ConvUInt16Q (_, [ty],[x1]) -> Expression.Convert(ConvExpr env x1, typeof<uint16>) |> asExpr
               | ConvUInt32Q (_, [ty],[x1]) -> Expression.Convert(ConvExpr env x1, typeof<uint32>) |> asExpr
               | ConvUInt64Q (_, [ty],[x1]) -> Expression.Convert(ConvExpr env x1, typeof<uint64>) |> asExpr
  -            | ConvDoubleQ (_, [ty],[x1]) -> Expression.Convert(ConvExpr env x1, typeof<double>) |> asExpr
                /// REVIEW: convert with method witness
   
               | CheckedConvCharQ (_, [ty],[x1])  -> Expression.ConvertChecked(ConvExpr env x1, typeof<char>) |> asExpr
  
positive.code: ﻿// Copyright (c) Microsoft Corporation 2005-2008.
  // This sample code is provided "as is" without warranty of any kind. 
  // We disclaim all warranties, either express or implied, including the 
  // warranties of merchantability and fitness for a particular purpose. 
  //
  
  namespace Microsoft.FSharp.Linq
  
  open System
  open System.Linq
  
negative.code:     let (|ConvUInt16Q|_|) = (|SpecificCall|_|) <@ uint16 @>
      let (|ConvUInt32Q|_|) = (|SpecificCall|_|) <@ uint32 @>
      let (|ConvUInt64Q|_|) = (|SpecificCall|_|) <@ uint64 @>
  
      let (|CheckedConvCharQ|_|) = (|SpecificCall|_|) <@ Checked.char @>
      let (|CheckedConvSByteQ|_|) = (|SpecificCall|_|) <@ Checked.sbyte @>
  