export function existy(value) {
	return value != null;
}

export function cat(head, ...args) {
	return existy(head) ? head.concat.apply(head, args) : [];
}

export function construct(head, tail) {
	return [head, ...tail];
}

export function dispatch(...funs) {
	return function(...args) {
		for (let fun of funs) {
			const ret = fun(...args);
			if (existy(ret)) {
				return ret;
			}
		}
	};
}

@@ -386,12 +386,201 @@
 %7D%0A%09%09%7D%0A%09%7D;%0A%7D%0A
+%0Aexport function nodify(resolve, reject) %7B%0A    return function(err, ...args) %7B%0A        if (err) %7B%0A            reject(err);%0A        %7D else %7B%0A            resolve(...args);%0A        %7D%0A    %7D;%0A%7D%0A

add nodify function.