Currently (after the latest update), Anvil allocates N fences for N swapchain images.
There is no need for multiple fences - Just a single fence that you pass to the vkAcquireNextImageKHR() function and wait on immediately after. As soon as the wait is over, the fence has served its purpose and is ready to be re-used for the next call to vkAcquireNextImageKHR().