A fun treatment of a dilema I've come across a few times when trying to limit excessive memory allocation. It's like an ourobouros of logic - in order to know the memory needed for a calculation, you need to calculate the calculation leading to a hypothetical sequence of calls like
makeCharacterBitmapMemoryNeededMemoryNeededMemoryNeeded()
makeCharacterBitmapMemoryNeededMemoryNeeded()
makeCharacterBitmapMemoryNeeded()
makeCharacterBitmap()