I have seen a few of us on this group mention this practice. I usually refer to it as "expands" and use a syntax similar to what etsy is describing. Other places in the wild that I have seen implement this includeAnd it is also described in REST Design Rule BookAt my office we have defined a generic syntax (which is basically the same as google's partial response syntax https://developers.google.com/youtube/2.0/developers_guide_protocol_partial. The major difference we have from the above guys is we basically allow "expansion" on any GET based link relationship. The risk this opens up to us is that you can have an infinite level of expansion, and we haven't figured out what the right level to allow here is yet. The above mentioned examples manage this by only allowing a single level, or defining explicit "associations" that can be followed separate from the "links" defined in the URL. This of course assumes you have a standized way of doing links, and ours is very similar to what Mike Kelly has described in his hal+json format, expect we don't do the "_links" array we just do "links".
We also use a hash style structure. For the most part this seems preferable. The only down side is you can't have more than one type of "rel" per object. So far that has not proven a huge problem.