function Option.XOr(E,Y)local k=E:IsSome()local L=Y:IsSome()if k==L then return Option.None elseif k then return E else return Y end end

function Option:XOr(optionB)
	local someOptA = self:IsSome()
	local someOptB = optionB:IsSome()
	if someOptA == someOptB then
		return Option.None
	elseif someOptA then
		return self
	else
		return optionB
	end
end
