`Replace` (and `LazyReplace`) must check that their source node actually has positions at the initialization time so that we can raise a meaningful error.
Replace(andLazyReplace) must check that their source node actually has positions at the initialization time so that we can raise a meaningful error.