ConnectionAdapter#substitute_at is technically public API...

We can't change the signature without a deprecation cycle.