Type Analysis