「文字列中のパラメータ・ラインとして展開する」
--->expand_param("文字列")
「文字列をコマンドとして実行し標準出力を展開する」
--->expand_stdout("文字列")
もし、こういう仕様であったなら、

"$(cat file)" は、丁度、
expand_param(expand_stdout("cat file"))
というように書け、なんの推定の余地もないはずだったのです。
もしこうであったなら、マニュアルを読まなくても、色々な展開パターン
を好きなように書けます。展開の順序も推定の余地がありませんし。