anchor.diff:    static member ToBoxedValue(d:double) = BV.Box(d)
     static member ToBoxedValue(b:bool) = BV.Box(b)
     static member ToBoxedValue(s:string) = BV.Box(s)
  +  static member ToBoxedValue(s:SuffixString) = BV.Box(s)
     static member ToBoxedValue(o:CO) = BV.Box(o)
     static member ToBoxedValue(f:FO) = BV.Box(f)
     static member ToBoxedValue(u:Undef) = BV.Box(u)
  
positive.code:   static member ToBoolean(o:CO) : bool = true
    static member ToBoolean(v:BV) : bool =
      match v.Tag with
      | TypeTags.Bool -> v.Bool
      | TypeTags.String -> TC.ToBoolean(v.String)
      | TypeTags.Undefined -> false
      | TypeTags.Clr -> TC.ToBoolean(v.Clr)
      | TypeTags.Object
      | TypeTags.Function -> true
      | _ -> TC.ToBoolean(v.Number)
  
    static member ToBoolean(expr:Dlr.Expr) : Dlr.Expr = 
      Dlr.callStaticT<TC> "ToBoolean" [expr]
  
negative.code:     | TypeTags.Function -> 
        v.Object
  
      | TypeTags.SuffixString ->
        env.NewString(v.Clr.ToString())
  
      | TypeTags.String -> 
        env.NewString(v.String)
  
  