code: function without(list, test, removedFn) {
   
     return withoutInner(list, removedFn || noop);
   
     function withoutInner(subList, removedFn) {
        return subList  
           ?  ( test(head(subList)) 
                    ? (removedFn(head(subList)), tail(subList)) 
                    : cons(head(subList), withoutInner(tail(subList), removedFn))
              )
           : emptyList
           ;
     }               
  }
docs: Return a list like the one given but with the first instance equal
  to item removed