Returns the relative, descendent directory path between this module and other.
Throws if no such path exists.
For example, if module mod1 has path /dir1/mod1.pkl, and module mod2 has path /dir1/dir2/dir3/mod2.pkl,
then mod1.relativePathTo(mod2) will return List("dir2", "dir3").
A common use case is to compute the directory path between a template located at the root of a hierarchy
(say rootModule.pkl) and the currently evaluated module (accessible via the module keyword):
Parse JSON data using the JSON parser with list-based mapping.
If the data cannot be parsed as JSON, returns the raw string data.
data: The JSON string to parse.
Returns the parsed JSON data or the original string if parsing fails.
Common parser and document renderer functions used across all resources.