Translate "let static 2 = argument 1" to VM code.
VM code (the answer):
push argument 1
pop static 2
My question
Aren't we forgetting let. Shouldn't we push another argument 1 to the stack, and then pop it to local 2 too? In order to preserve the "local type".
https://www.coursera.org/learn/nand2tetris2/lecture/z1wbL/unit-1-3-vm-abstraction-memory-segments

Not sure why you want to pop too local 2. In jack a let statement can be for field varibles too and does not have to necessarily be for local variables.
Push argument 1 would put the value in index 1 in argument segment on top of the stack which is 12.
Then you pop the top value from the stack into static 2 which is highligted in your picture