anchor.diff:          makeCallFrom com ctx r typ meth (typArgs, methTypArgs) None argExprs
       | BasicPatterns.NewObject(meth, typArgs, _) ->
           let r, typ = makeRangeFrom fsExpr, makeType com ctx fsExpr.Type
  +        tryDefinition fsExpr.Type |> Option.iter (fun tdef ->
  +            validateGenArgs ctx r tdef.GenericParameters typArgs)
           makeCallFrom com ctx r typ meth (typArgs, []) None argExprs
       | BasicPatterns.NewUnionCase(fsType, unionCase, _) ->
           transformNonListNewUnionCase com ctx fsExpr fsType unionCase argExprs
  
positive.code:         | _ -> None
      | _ -> None
  
  let private (|BaseCons|_|) com ctx = function
      | BasicPatterns.NewObject(meth, _, args) ->
          match ctx.baseClass with
          | Some baseFullName
              when sanitizeEntityFullName meth.EnclosingEntity = baseFullName ->
              Some (meth, args)
          | _ -> None
      | BasicPatterns.Call(None, meth, _, _, args) as fsExpr ->
          match ctx.baseClass with
          | Some baseFullName when meth.CompiledName = ".ctor"
                              && (sanitizeEntityFullName meth.EnclosingEntity) = baseFullName ->
              if not meth.IsImplicitConstructor then
                  FableError("Inheritance is only possible with base class primary constructor: "
                              + baseFullName, makeRange fsExpr.Range) |> raise
              Some (meth, args)
          | _ -> None
      | _ -> None
  
negative.code:         let r, typ = makeRangeFrom fsExpr, makeType com ctx fsExpr.Type
          tryDefinition fsExpr.Type |> Option.iter (fun tdef ->
              validateGenArgs ctx r tdef.GenericParameters typArgs)
          List.map (com.Transform ctx) args
          |> makeCallFrom com ctx r typ meth (typArgs, []) None
  
  