> if a == 1 then -- metamethod __eq You can write this instead: if a:__eq(1) then Not as pretty but not terrible either. This assumes that the methods in your library work with objects and numbers, promoting numbers to objects as needed.