anchor.diff:            | _ -> (function _ -> false), (fun _ _ -> failwith "unreachable")
   
         if elems' |> Array.forall (function Expr.Const(c,_,_) -> test c | _ -> false) then
  -           let ilElemTy = GenType cenv m eenv.tyenv elemTy
  +           let ilElemTy = GenType cenv.amap m eenv.tyenv elemTy
              GenConstArray cenv cgbuf eenv ilElemTy elems' (fun buf -> function Expr.Const(c,_,_) -> write buf c | _ -> failwith "unreachable")
              GenSequel cenv eenv.cloc cgbuf sequel
   
  
positive.code:   try
      // Convert the v.Type into a System.Type according to ilxgen and ilreflect.
      let objTyp =
          let ilTy = GenTypeAux amap v.Range TypeReprEnv.Empty v.Type (* TypeReprEnv.Empty ok, not expecting typars *)
          ctxt.LookupType ilTy
      // Lookup the compiled v value (as an object).
      match StorageForVal v.Range v eenv with
  
negative.code:           let callInstr = 
                match valUseFlags with
                | PossibleConstrainedCall ty -> 
                    let ilThisTy = GenType cenv.amap m eenv.tyenv ty
                    I_callconstraint ( isTailCall, ilThisTy,mspec,None)
                | _ -> 
                    if newobj then I_newobj (mspec, None) 
  