= Changelog

== v0.6.0

* Added `Length` type with:
** unit function `length`;
** predicates `hasLength`, `isEmpty`, and `isNotEmpty`;
** reducers `toShortest` and `toLongest`.
+
* Added the `isNullary`, `isUnary`, `isBinary`, and `isTernary` predicates for functions.
+
* Renamed `Type<T>` into `Instance<T>` to match the corresponding `isInstanceOf`/`isNotInstanceOf` functions.


== v0.5.1

* Renamed `negative` into `negated`.

== v0.5.0

* Remove `always()` and `never()` functions.
* Add the `negative` predicate.
* Fix: `isNotInstanceOf` function definition.
* Fix: invalid "exports" main target.

== v0.4.0

* Compiled `ES6` and `CommonsJS` modules.
* Renamed `value()` function into `same()`.

== v0.3.0

* Added the `Type<T>` type.
** Added the `isInstanceOf` function.
** Added the `isNotInstanceOf` function.
* Added the `Value<T>` type.
** Added `valueOf` function.
* Removed the `Fallback<T>` type.
** Removed the `fallbackTo` function.
* Added the package documentation.

== v0.2.1

* Fixed linting errors.

== v0.2.0

* Declared the `Proposition` type.
* Added the `isTrue()`/`isFalse()` functions.
* Added the `always()`/`never()` propositions.
* Added the `is()`/`isNot()`, `not()`, `all()`/`either()`/`neither()`,
and `atLeast()`/`atMost()`/`exactly()` predicates.

== v0.1.3

* Added the `TypeGuard<T, V>` type.
* Fix: corrected the changelog grammar.

== v0.1.2

* Added the `Predicate<T>` type.

== v0.1.1

* Fix: exported the `Fallback<T>` type.

== v0.1.0

* Added the `isFunction()` and `isNotFunction()` type guards.
* Added the `Nullary<T>` type with the `constant()`, `empty()`, and `fallbackTo()` functions.
* Added the `Unary<X, T>` type with the `value()` function.
* Declared the `Binary<X, Y, T>` type.
* Declared the `Ternary<X, Y, Z, T>` type.
