I don't think so because the result of calling an allocator is either you got memory or you don’t, while the IO here will be “it depends”
> Every function with an IO interface cannot be reasoned about locally because of unexpected interactions with the io parameter input
This means with IO interface is not quiet clear what WILL happen so it “depends”