> Create a subclass called NumberArray that can only hold numbers and has specific methods for operating on them.
I can't see anything wrong with this for some cases. Another way to get there would be to define a NumericCollection module that can be used to extend any Array.