checking redeclarations
more verbose type resolver (see #2)
accessing list elements by constant index