```lua function Base:init() print('Base:init()') end function Derived:init() print('Derived:init()') end local base = Base() base:init() -- will call Derived:init() ``` We are registering the `Derived:init` into the `Base:init` slot, which shouldn't be the case.