     * Evict object at the first position of the cache
     * @return itself
     */
-    func evictFirst() -> Actions<T> {
+    public func evictFirst() -> Actions<T> {
         return evict { (position, count, element) in position == 0 }
     }
     

    * @param replace exposes the original element and expects back the one modified.
    * @return itself
    */
    func update(func1Element: Func1Element, replace: Replace) -> Actions<T> {
        return update({ (position, count, element) in func1Element(element: element) }
            , replace: { element in replace(element: element) })
    }

     * @param element the object to add to the cache.
     * @return itself
     */
    public func addFirst(candidate: T) -> Actions<T> {
        return addAll({ (position, count)in position == 0 }, candidates: [candidate])
    }
    
