code: function filter(obj, predicate) {
      return composeObject(entries(obj).filter(([key, value]) => predicate(value, key)));
  }
docs: Returns a subset of an object, whose properties match the given predicate
  @param obj The object whose properties should be filtered
  @param predicate A predicate function which is applied to the object's properties