Thank you so much for that explanation.  It helped a lot.

> It's been placed on the opening char
> at position (nth 8 ppss) by the same code that placed the `|` syntax
> property on that same character.

I'm a bit confused as to what places the `|` syntax property.  I see
`(put-text-property eol (1+ eol) 'hcl-here-doc-marker str)` in 
`hcl--font-lock-open-heredoc`.  But my understanding is that syntactic
phase happens before the fontification.  So I don't understand how
`hcl--font-lock-open-heredoc` is able to place the symbol for
`hcl--syntax-propertize-function`.

Reza