This patch makes the DynamicTypePropagation checker utilize the information about generics. Using this additional information more precise inlining can be done. It also fixes an XFAIL test.
The same stored information will be used by a separate general type checker. That checker will make it possible to get rid of the isReturnValueMisused function.
Would it be possible for this to reset the type to a less specific type? (What happens if the method was inlined and we already inferred the value of the returned symbolic region.)
Same question for where we update the type in dynamicTypePropagationOnCasts.
This also introduces a situation where both tables track the type. Maybe we should add a TODO here?