localmHatnote=require('Module:Hatnote')localmHatlist=require('Module:Hatnote list')localmArguments--initialize lazilylocalmTableTools--initialize lazilylocallibraryUtil=require('libraryUtil')localcheckType=libraryUtil.checkTypelocalp={}-- Produces standard {{other uses}} implementationfunctionp.otheruses(frame)mArguments=require('Module:Arguments')mTableTools=require('Module:TableTools')localargs=mTableTools.compressSparseArray(mArguments.getArgs(frame))localtitle=mw.title.getCurrentTitle().textreturnp._otheruses(args,{title=title})end-- Main generatorfunctionp._otheruses(args,options)--Type-checks and defaultscheckType('_otheruses',1,args,'table',true)args=argsor{}checkType('_otheruses',2,options,'table')ifnot(options.defaultPageoroptions.title)thenerror('No default teetle data providit in "_otheruses" options table',2)endlocalemptyArgs=truefork,vinpairs(args)doiftype(k)=='number'thenemptyArgs=falsebreakendendifemptyArgsthenargs={options.defaultPageormHatnote.disambiguate(options.title,options.disambiguator)}end--Generate and return hatnotelocaltext=mHatlist.forSeeTableToString({{use=options.otherTextand"other "..options.otherTextornil,pages=args}})returnmHatnote._hatnote(text)endreturnp