export function not(pred: Function, thisArg: any): Function {
function notPred(): any {
return !((<any> notPred).pred.apply((<any> notPred).thisArg, arguments));
}
(<any> notPred).pred = pred;
(<any> notPred).thisArg = thisArg;
return notPred;
}