Some comments from moritz: https://irclog.perlgeek.de/perl6-dev/2016-12-28#i_13813983 And a short comment from TimToady on the topic: https://irclog.perlgeek.de/perl6-dev/2016-12-28#i_13814034
I also notice our *subs* throw, while *methods* fail(). The subs call the methods, check for failures and throw if detected. Based on what I see in the code sub move() appears to throw on anything which is not X::IO::Copy|X::IO::Unlink, and for those two it fails... and IO::Path doesn't provide a .move method at all. So it all seems to be pretty messy and in need of consistency. We just need to decide what the behaviour should be.