def set indexes, val
      cast(dtype: :array) if val.nil? && dtype != :array
      guard_type_check(val)

      if @index.valid?(*indexes)
        modify_vector(indexes, val)
      else
        insert_vector(indexes, val)
      end

      update_position_cache
    end
Works similar to #[]= but also insert the vector in case index is not valid
It is there only to be accessed by Daru::DataFrame and not meant for user.