function hatnoteDistinguish(frame)
local args = frame:getParent().args
if not args[0] then return frame:expandTemplate { title = [[Hatnote]]; args = { [[Not to be confused. ]]; }; }; end;
local final = {}
for k, v in ipairs(args) do
table.insert(final, "[[" .. v .. "]]")
end
local sep = " "
if #final > 1 then
final[#final] = "or " .. final[#final]
if #final > 2 then
sep = ", "
else
sep = " "
end
end
return frame:expandTemplate{title = "Hatnote", args = {"Not to be confused with " .. table.concat(final, sep) .. "."}}
end
return {["hatnote"] = hatnoteDistinguish}