package net.varkhan.base.functor.curry; import net.varkhan.base.functor._; /** * <b></b>. * <p/> * * @author varkhan * @date 12/1/13 * @time 12:48 PM */ public interface CSingle<L> extends Single<L>, CTuple<L,_>, _<L,_> { public Class<L> ltype(); public L lvalue(); public Class<?>[] types(); public Object[] values(); public static class Value<L> extends CTuple.Value<L,_> implements CSingle<L> { public Value(CSingle<L> t) { super(t); } public Value(Class<L> lc, L l) { super(new Class[]{lc}, new Object[]{l}); } } }