def search(request, *args)
      request = request.is_a?(Search::Request) ? request : Search::Request.new(request)
      self.class::Search.new(self).call(request, *args)
    end
def search(request, *args)
      request = request.is_a?(Search::Request) ? request : Search::Request.new(request)
      self.class::Search.new(self).call(request, *args)
    end
TODO: all others are 'typed', e.g. get_user, get_record_items ... should this be typed, too ?