You have to click a block from the block list first, before dragging it, so that you don't accidentally drag the 'original block', and you drag the 'clone' instead. Other than that, it's fairly intuitive, although all function blocks such as 'gt' (greater than) and 'lt' (less than) require that both of their arguments come after them - e.g. "gt 3 2" - this is to reduce the complexity of the interpreter and to avoid ambiguity.
This is a visual programming language project I've been working on.