This package is not intended for wide use. It provides a temporary API to solve the problem: "Given an object some generic type A, how do I construct an instance of generic type B with the same type argument(s)?"