code: function resolveDependencies( binds, obj ){
              let slotset =  context[ context.length-1 ];
              for( let key in injections ){
                  if( binds && injections[key] in binds ){
                      obj[key] = binds[ injections[key] ];
                      continue;
                  }
                  
                  let slot = slotset[ injections[key] ];
                  let policy = slot.getViable( key, tags[key], multiple[key] );
                  if( !multiple[key] )
                      obj[key] = policy([]);
                  else{
                      let out = obj[key] = [];
                      for( let i=0; i<policy.length; ++i )
                          out[i] = policy[i]([]);
                  }
              }
          }
docs: provider.ctor = class extends clazz { constructor( args ){ resolveDependencies( this ); // *sigh* super(...args); } };