package listFW;

/**
 * A visitor to (algorithm on) an IList<T> where T is a subclass of E
 * Also parameterized by it return type R and parameter type T.
 */
public interface IListAlgo<E,R,P> {
    
    public abstract R emptyCase(IMTList<? extends E> host,  P ... inp);
    
    public abstract R nonEmptyCase(INEList<? extends E> host,  P ... inp);
}

