File.if_readable File.if_writable implemented; nxt return proc if no block provided