Added support for type parameters

It was ugly, but the substituteTypes method of a type really helps to
extract the relevant symbols from the parent type when working with
symbols obtained from a constructor.