The Not type negates the given type or value.
Builds a new type negating the passed one.
@type t() :: t(Vx.schema())
@opaque t(of)
@spec t(of) :: t(of) when of: Vx.schema()
iex> Vx.Not.t(Vx.Integer.t()) |> Vx.validate!("foo") :ok iex> Vx.Not.t(Vx.Integer.t()) |> Vx.validate!(123) ** (Vx.Error) must not be integer