Object.reject = (obj,arg) ->

res = {}
for key,val of obj
  unless typeof arg == 'function'
    res[key] = val unless [arg].flatten().includes?(key)
  else
    temp={}
    temp[key] = val
    res[key] = val unless arg(key,val,temp)
res

Object.select = (obj,arg) ->

res = {}
for key,val of obj
  unless typeof arg == 'function'
    res[key] = val if [arg].flatten().includes?(key)
  else
    temp={}
    temp[key] = val
    res[key] = val if arg(key,val,temp)
res