> It gets uglier as you go on :-):-) .... So you may have to listen to RobertK's idea also. which are (all) the methods should i filter? []=, <<.. ------------------------- class IA < Array def ensure_int(obj) raise TypeError, "Not an int: #{obj.inspect}" unless (Integer === obj) end def []= (index, other) ensure_int(other) super index, other end end ---------------------------------- isn't there any hack for this dirty work? -- >here are more things in heaven and earth, horatio, than are dreamt of in your philosophy.