public static LispList <T> Coerce <S, T> (this LispList <S> list) where S : T { return(list.Select(l => (T)l)); }
public static LispList <S> Select <T, S> (this LispList <T> list, Func <T, S> selector) { return(LispList <T> .Select(list, selector)); }