-- ROBLOX deviation START using Callable table to allow for properties on a function alternative

type CallableMatcher = typeof(setmetatable({
	state = {} :: any,
}, {
	__call = function(self: any, str: Config_Path): boolean
		return false
	end,
}))

type MatcherFn = (str: Config_Path) -> boolean
type Matcher = CallableMatcher