Specify IO.* return values and Nil on failure