That’s a very interesting constraint, having to trade mobility for attack speed.
Something that bothered me at low attack rates: Seems the firing is based on a global timer. So say I leave off spacebar for a while then tap it, I expected it to fire since it’s been idle a while. But it might not, since it has to be held at the moment the attack timer cycles.