Change dynamic invoke syntax; Reimplement foreach in terms of 'get at' macro - allows list type aliasing.