code: func (c *Collection) FindAll(models interface{}) error {
  	// Since this is somewhat type-unsafe, we need to verify that
  	// models is the correct type
  	t := c.pool.NewTransaction()
  	t.FindAll(c, models)
  	if err := t.Exec(); err != nil {
  		return err
  	}
  	return nil
  }
docs: // FindAll finds all the models of the given type. It executes the commands needed
  // to retrieve the models in a single transaction. See http://redis.io/topics/transactions.
  // models must be a pointer to a slice of models with a type corresponding to the Collection.
  // FindAll will grow or shrink the models slice as needed and if any of the models in the
  // models slice are nil, FindAll will use reflection to allocate memory for them.
  // FindAll returns an error if models is the wrong type or if there was a problem connecting
  // to the database.