Add key adapter so that we can produce a set of keys that are referenced
recursively from an Identity
Untested (and naive) export function