let is_subtype data subtype supertype =
let basetype s = try let n = String.index s '[' in String.sub s 0 n with Not_found -> s in
match get_distance data (basetype subtype) (basetype supertype) with
| Some(n) when n >= 0 -> true
| _ -> false