more type inference forms/bug fixes
fix type signatures for vec*vec
handle array access, varyings with different sets of fields
add todo list