ある家系システムでは人々の間の関係を第一レベル関係のグラフとして表現するかもしれない(父親/息子,父親/娘,母親/息子,母親/娘,夫/妻,妻/夫...)。これは非常に効率的である(そして拡張も可能:元夫/元妻,法的保護者...)。しかし、上位レベルモジュールでは家系をブラウズするためのより簡単な方法が必要になるかもしれない:人には、子供、父親、母親、兄弟と姉妹(異母兄弟を含む含まないも合わせて)、祖父、祖母、伯父、伯母、従兄弟...などがいるかもしれない。家系モジュールの使用法に応じて、共通の関係を明確で直接的な属性として(グラフを隠して)表示することは上位レベルモジュールと家系モジュールの間の結合を遥かに軽くでき、モジュールの使用になんの影響も与えることなく内部表現を完全に変更することを可能にする。またそれによって、家系モジュールに対し兄弟、姉妹(異母兄弟であるかどうか)の正確な定義を埋め込む事が可能になる...またそれは単一責務の法則を強制することにも繋がる。最終的に、もし最初の一般化された拡張可能なグラフアプローチが一番拡張可能に思えるのであれば、家系モジュールの利用は更に特殊化及び単純化された関係の実装がアプリケーションに対して十分であることを示しているかもしれないし、より効率的なシステムを作成する手助けになるかもしれない。この例でのモジュール間の相互関係の抽象化は下位レベルモジュールのインターフェースの単純化だけでなく、より単純化された実装につながるかもしれない。リモートファイル・サーバクライアント.ローカルファイル、リモートファイルの両方が同じ抽象インターフェースを提供する場合、ローカルファイルと完全に実装された依存性逆転パターンを使用するどんな上位レベルモジュールもローカルとリモートの区別なくファイルにアクセスすることが可能になる。ローカルディスクは一般的にフォルダーを使用し、リモートストレージもフォルダーを使用するかもしれない(もしくはタグのみ、フォルダーとタグの両方など)。もし可能であればそれらを統一する方法を決めておく必要がある。