   # a←'this is a test' ⋄ a[0 5]←'TI' <=> 'This Is a test'
   # Data←0 4 8 ⋄ 10+ (Data[0 2]← 7 9) <=> 17 14 19
   # a←3 4⍴⍳12 ⋄ a[;1 2]←99 <=> 3 4⍴0 99 99 3 4 99 99 7 8 99 99 11
+  # a←1 2 3 ⋄ a[⍬]←4 ⋄ a <=> 1 2 3
+  # a←3 3⍴⍳9 ⋄ a[⍬;1 2]←789 ⋄ a <=> 3 3⍴⍳9
+  # a←1 2 3 ⋄ a[]←4 5 6 ⋄ a <=> 4 5 6
   _substitute: (args) ->
     [value, alpha, omega, axes] =
       for x in args.toArray()

      if not isInt x then domainError()
      if not (0 <= x < omega.shape[axis]) then indexError()

  for i in [0...subscripts.length] when typeof subscripts[i] is 'undefined'
    subscripts[i] = [0...omega.shape[i]]
    subscriptShapes[i] = [omega.shape[i]]


    if all(for x in subscripts then x.length)
      u = repeat [0], subscripts.length
      p = omega.offset
      for a in [0...subscripts.length] by 1
        p += subscripts[a][0] * omega.stride[a]
      loop
        data.push omega.data[p]
