Where's the Fixnum?

  class X < Array
    def to_s
      join('.')
    end
    def inspect ; to_s ; end
  end
  x=X.new
  x << 1
  x << 2
  x << 3
  x          #=> 1.2.3
  x.class    #=> X
  File.join( x, 'index.rb' )

  TypeError: can't convert Fixnum into String
        from (irb):19:in `join'
        from (irb):19
        from :0