Support type definition as a type argument (fix #12)