R S3 для универсальных методов установлено значение видимое ЛОЖНОЕ

#r #dbplyr #r-s3 #rdebug

Вопрос:

У меня есть объект R lf , который является элементом класса tbl_lazy :

 library(dbplyr)
lf <- lazy_frame(a = TRUE, b = 1, c = 2, d = "z", con = simulate_hana())
>class(lf)
[1] "tbl_HDB"  "tbl_lazy" "tbl"
 

С помощью пакета sloop я вижу, что общая функция print.tbl_lazy установлена в visible = FALSE значение . По-видимому, именно по этой причине печать print.tbl_lazy возвращается Error: object 'print.tbl_lazy' not found .

    generic       class    visible source
   <chr>         <chr>    <lgl>   <chr>
11 print         tbl_lazy FALSE   registered S3method
 

Когда я отлаживаю print , я вижу вызов print.lazy и теперь могу видеть содержимое print.tbl_lazy .

 debugging in: function (x, ...)
UseMethod("print")(x)
debug: UseMethod("print")
Browse[2]> n
debugging in: print.tbl_lazy(x)
debug: {
    show_query(x)
}
 

Мой вопрос в том, почему все методы класса tbl_lazy настроены visible = FALSE и каковы последствия этого? Мне кажется, что, хотя это может иметь некоторые преимущества, какими бы они ни были, это затрудняет доступ к коду метода, что на таком языке, как R, используемом таким количеством нетехнических пользователей, кажется большим недостатком.
Я не смог найти никакой документации по этому поводу.