This is a non-standard way of handling an alloc error, why is it needed here?