Fix #20296: allow SafeData and EscapeData to be lazy.