def pos *indexes
      indexes = preprocess_range(indexes.first) if indexes.first.is_a? Range

      if indexes.size == 1
        numeric_pos indexes.first
      else
        indexes.map { |index| numeric_pos index }
      end
    end
Returns positions given indexes or positions
@note If the arugent is both a valid index and a valid position,
it will treated as valid index
@param indexes [Array<object>] indexes or positions
@example
x = Daru::Index.new [:a, :b, :c]
x.pos :a, 1
# => [0, 1]