There is an infinite loop occurring in TypeHelper.normalize(). The issue seems to occur any time a parameterized supertype is passed into TypeHelper.isAssignable.
I was able to see that in my test cases, ParameterizedType.getActualTypeArguments() is returning the same exact object as Class.getTypeParameters()... which causes TypeHelper to create a map with an entry where Key = Value. Given the logic in TypeHelper.normalize(), this in turn causes an infinite loop.
I've attached a couple of test cases which illustrate the issue, copied below.