When we were designing initial version of Snowflake Loader, we made a decision to leave all contexts as ARRAY type (because we always have zero or more of them, always wrapped in array) and OBJECT for unstructured events (because it is a JSON-object).
From my understanding ARRAY and OBJECT are both subtypes of VARIANT. However we're having a user who claims that OBJECT type breaks an escaping (for |-symbol), whereas it works for VARIANT. From my point of view, this is an unexpected behavior and should not happen.
We're investigating this with Snowflake engineers, but if it will turn out that this is an expected behavior then we'll need to change type of all self-describing types to VARIANT. Adding to 0.4.0 so far, but probably it won't be necessary.