All these functions have custom c++ implementation that are not really normalized (mostly because some of them need to be dispatched to special backend like mkl/cudnn and other are just implemented by us). So maybe the order of the arguments is different for them.
Or also there are some type checks that happen at a different moment.
Not sure really