Gets an instance provided by
resource which is guaranteed to be unique
within a single build, and may be reused across build steps within a
build if the implementation allows.
It is also guaranteed that
resource will be disposed before the next
build starts (and the dispose callback will be invoked if provided).
Future<T> fetchResource<T>(Resource<T> resource);