def check_sub_type_without(val, delim)
      return false unless val =~ delim
      new_val = val.gsub(delim, "").strip
      NodeCache.find(attributes["type"]) == new_valu
    end
def check_sub_type_without(val, delim)
      return false unless val =~ delim
      new_val = val.gsub(delim, "").strip
      NodeCache.find(attributes["type"]) == new_valu
    end
For types like pointers or references, we recursively track down
 the base type when doing comparisons.

 delim needs to be a regex