export const pure = (f, a) => {
  const pure_ = (f, a) => Applicative(f) ? dataType(f).pure(a) : error.typeError(f, pure);
  return partial(pure_, f, a);
}