Follow a similar API to einx. However, we also want to add new functionality to specify start, stop, and stride.
First a note, until accepting kwargs is allowed, we need to use tlib's built in dict object. I want to find a way to shorten this down, but it is fine for now. Here is the reference API:
// With only a stop (we assume a_stride = b_end)
tlib.arange("a b", tlib.dict(a=2, b=3))
# Will create a 5 by 10 arange, that goes
# 0, 1, 2
# 3, 4, 5
// With a stop and stride
tlib.arange("a b", tlib.dict(a=(2, 10), b=(3, 1))
# Will create a 5 by 10 arange, that goes
# 0, 1, 2
# 10, 11, 12
I am still trying to decide if setting a start is really necessary. We only technically need to do it once. Need to think it through.