code: func (c *ExampleService) FindUsers(ctx context.Context, filter platform.UserFilter, opt ...platform.FindOptions) ([]*platform.User, int, error) {
  	op := platform.OpFindUsers
  	if filter.ID != nil {
  		u, err := c.FindUserByID(ctx, *filter.ID)
  		if err != nil {
  			return nil, 0, &platform.Error{
  				Err: err,
  				Op:  "kv/" + op,
  			}
  		}
  
  		return []*platform.User{u}, 1, nil
  	}
  
  	if filter.Name != nil {
  		u, err := c.FindUserByName(ctx, *filter.Name)
  		if err != nil {
  			return nil, 0, &platform.Error{
  				Err: err,
  				Op:  "kv/" + op,
  			}
  		}
  
  		return []*platform.User{u}, 1, nil
  	}
  
  	us := []*platform.User{}
  	filterFn := filterExamplesFn(filter)
  	err := c.kv.View(func(tx Tx) error {
  		return forEachExample(ctx, tx, func(u *platform.User) bool {
  			if filterFn(u) {
  				us = append(us, u)
  			}
  			return true
  		})
  	})
  
  	if err != nil {
  		return nil, 0, err
  	}
  
  	return us, len(us), nil
  }
docs: // FindUsers retrives all examples that match an arbitrary example filter.
  // Filters using ID, or Name should be efficient.
  // Other filters will do a linear scan across all examples searching for a match.