pub type append0<T> = Curry2<fn(_: T, _: Vec<T>) -> Vec<T>, Nothing<T>, Nothing<Vec<T>>, Vec<T>>;
curried append waiting for both arguments
append