Added type introspection and variadic functions support