code: def _column(arr, indexes):
      
      if arr.ndim == 2 and types.is_int(indexes):
          return arr[:, indexes]
      elif arr.ndim == 3 and len(indexes) == 2:
          return arr[:, indexes[0], indexes[1]]
      else:
          raise NotImplementedError('Only supporting arrays of dimension 2 and 3 as yet.')
docs: Returns a column with given indexes from a deep array
  
      For example, if the array is a matrix and indexes is a single int, will
      return arr[:,indexes]. If the array is an order 3 tensor and indexes is a
      pair of ints, will return arr[:,indexes[0],indexes[1]], etc.