Distinguish External<T> and Internal<T> variables

Internal<T> can be used to annotate local variables, whereas
External<T> is typically used to model global shared variables.