You need to do f(x) = reverse(x), not f = reverse, if you want to add additional methods to f (without affecting Base.reverse). That is, f needs to be a new generic function, not an alias for Base.reverse.
If you want to add new methods to Base.reverse itself, you need to do Base.reverse(...new args...) = ...new implementation..., since you’re not allowed to extend methods in other modules without explicitly qualifying them with the module name (or explicitly importing them).