You do extend a type in another module with `type M.foo += A2`. The code you've referenced is rebinding the extension `M.A1` of type `foo` with the new name `A2`. In this case the type is in the current module and the extension being rebound is in another module.