function Option.Filter(Q,s)if Q:IsNone()or not s(Q._v)then return Option.None else return Q end end

function Option:Filter(predicate)
	if self:IsNone() or not predicate(self._v) then
		return Option.None
	else
		return self
	end
end

