dependent types =============== problems: 1. syntax of the type. T#[#len] is a bit long. T[len] is confusing 2. choice types in structs 3. maximum complexity of expressions. e.g. T[len+1] or T[x then 1 else 2] might be useful, but it can get quite complex 4.