Even more clarification on Type piracy

One has not experience the endless pain and nightmare of type piracy until after 12+ hours figuring out why the code broke in R, you realize you had sourced a package previously in the session -_- before running the code.

dplyr::intersect
lubridate::intersect

I care about type 2 piracy still more due to the base/API aspects than most normal users or developers in other roles. The idea of piracy is that whatever the method is, it is consistent when applied to any struct as it was defined at conception. If you want to express something different, define a different method. The “benefit” of what I consider good piracy is when the same concept is expanded to new structs conserving the same meaning (usually a type 2 piracy with the no-override except no method defined flavor).