let rec not_filter p func = function | t::l -> if func t then not_filter p func l else not_filter (t::p) func l | _ -> p