def at *positions
      positions = preprocess_positions(*positions)
      validate_positions(*positions)
      if positions.is_a? Integer
        key(positions)
      else
        Daru::MultiIndex.from_tuples positions.map(&method(:key))
      end
    end
def at *positions
      positions = preprocess_positions(*positions)
      validate_positions(*positions)
      if positions.is_a? Integer
        key(positions)
      else
        Daru::MultiIndex.from_tuples positions.map(&method(:key))
      end
    end
Takes positional values and returns subset of the self
   capturing the indexes at mentioned positions
 @param positions [Array<Integer>] positional values
 @return [object] index object
 @example
   idx = Daru::MultiIndex.from_tuples [[:a, :one], [:a, :two], [:b, :one], [:b, :two]]
   idx.at 0, 1
   # => #<Daru::MultiIndex(2x2)>
   #   a one
   #     two