pass upper bound to idl as well as introspection type support