I strongly suggest SpyImmutableInstanceProvider

It's long, but I think the warning is easy enough to miss that we want it in the class name itself. Maybe just ImmutableSpyProvider would do...