/**
 * Return a TypeNode representing a {@code dims}-dimensional constant array
 * of ultimate base {@code n}.
 */
public TypeNode constArray(TypeNode n, int dims) throws Exception {
    if (dims > 0)
        return nf.ConstArrayTypeNode(n.position(), constArray(n, dims - 1));
    return n;
}
