Well, as I said earlier: "Question: Can extend work if it is not given a pointer to the beginning of a memory block? The documentation says it can't, but it works during run-time."

For example: 
```D
import core.memory;
import std.stdio;

void main()
{
    auto p = cast(int*) GC.malloc(1000 * int.sizeof, GC.BlkAttr.NO_SCAN);
    p += 1000;
    writeln(GC.extend(p, 1, 2));
}
```

This print 8192 for me. Is it just sheer luck? Should I simply change the documentation " p should reference the beginning of the memory block" ?