AS> Why? Because IO::Socket.new takes parameters that are built out of its
AS> entire inheritance tree, so a change to IO::Handle might radically
AS> modify the signature of the constructor.
makes sense. we should look at the p5 IO:: tree and see what we want to salvage/savage from it as well as io::all. each has its good and bad points and hopefully we can figure out which is which. :)
Yes. p5 IO:: has evolved a bit over time and some things have turned out to be bad choices in hindsight.
For example, one thing I am still not convinced was the right thing was to create a hierarchy such that a given class only had methods that were valid for it. For example the recent issue on p5p with seek etc not being in IO::Handle but IO::Seekable and the core using IO::Handle.
Also the way IO::Socket::* was done instead of all sockets created by IO::Socket->new
these are all things that should be reconsidered and I am sure in all cases there will be people on both sides of the fence