code: func (g *graph) ResolveByType(ptrType reflect.Type) []reflect.Value {
  	var values []reflect.Value
  	for ptr, def := range g.definitions {
  		if reflect.TypeOf(ptr).Elem() == ptrType {
  			values = append(values, def.Resolve(g))
  		}
  	}
  	return values
  }
docs: // Resolve a type into a list of values by resolving all defined pointers with that exact type