added a function to parse typenames, fixed my type objects and optimized
symbol lookup by using hash comparisons instead of string comparisons(I
still check that the strings match in the end)