public static NDview <Type> Concatene <Type>(NDview <Type> a, NDview <Type> b, int axis = 0) => new NDview <Type>(() => concatene(a.fnc(), b.fnc(), axis));
public static NDview <Type> Reshape <Type>(NDview <Type> nDview, params int[] shape) => new NDview <Type>(() => reshape(nDview.fnc(), shape));
public static NDview <Type> AxisCumOps <Type>(NDview <Type> nDview, int axis, Func <Type, Type, Type> func, Type start) => new NDview <Type>(() => axisCumOps(nDview.fnc(), axis, func, start));
public static NDview <Type> TensorDot <Type>(NDview <Type> a, NDview <Type> b) => new NDview <Type>(() => tensorDot(a.fnc(), b.fnc()));
public static NDview <Type> AxisOps <Type>(NDview <Type> nDview, int axis, bool keepdims, Func <Type, Type, Type> func, Type start, bool mean = false) => new NDview <Type>(() => axisOps(nDview.fnc(), axis, keepdims, func, start, mean));
internal static NDview <int> ArgMinMax <Type>(NDview <Type> nDview, int axis, Func <Type, Type, Type> func, Type tmp) => new NDview <int>(() => argMinMax(nDview.fnc(), axis, func, tmp));
public static NDview <V> ElementWiseOp <U, V>(NDview <U> left, NDview <U> right, Func <U, U, V> func) => new NDview <V>(() => elementWiseOp(left.fnc(), right.fnc(), func));
public static NDview <V> ApplyOps <U, V>(NDview <U> nDview, Func <U, V> func) => new NDview <V>(() => applyOps(nDview.fnc(), func));
public static NDview <Type> Transpose <Type>(NDview <Type> nDview, params int[] table) => new NDview <Type>(() => transpose(nDview.fnc(), table));