Implement dynamic allocas correctly. In particular, because we were copying