Add Inf.typectors
Add abstruct type declaration
Allow type parameter