This is a generic version of an "Object Pool". It will instantiate objects ahead of time and deactivate them, so you dont need to Destroy and Instantiate new ones at runtime
This is a Code Based object pool, compared to some of the other options on the asset store, which are Editor Based.
The biggest feature is that is uses Generics, meaning you can access your object based on the script type.
EXAMPLE
You can create a new pool of objects by calling RecyleBin.CreateNewRecyclable<>
BONUS!!
Comes with an example project of a "Swipe To Throw" soccer game, which implements the Generic Object Recycler!!