return function(target, key, desc?) {
     injectFn(target, key, desc, Lazy.of(type));
 };
 return function(target, key, desc?) {
     inject(Lazy.of(type))(target, key, desc ? desc : {});
 };