variables, references, dup, freeze