以降で完全に動作するようになった。マクロを使うのにマクロパラダイスは必要ない。おいて関数従属性の具現化を拡張するのにもマクロパラダイスが必要となるため、その関数従属性の具現化を使うためにはユーザのビルドにもマクロパラダイスを含めなければいけないことに注意してほしい。関数従属性の具現化が展開した後ならば、その結果のコードを参照するのにはコンパイル時でも実行時でもマクロパラダイスは必要ない。いうコンパイラフラグを有効にする必要がある。いう型クラスを定義する。ターゲットのみを渡すことで呼び出すことができる。スコープ内からターゲットの型に対応する型クラスのインスタンスを導き出そうとする。スコープ内にマッチする暗黙の値があれば、それが推論されコンパイルは成功する。見つからなければ、コンパイルエラーが発生する。おける型クラスにおいてよく知られている問題の一つとして似た型のインスタンス定義が往々にして非常に似通ったものになりやすく、ボイラープレートコードの蔓延につながることが挙げられる。多くのオブジェクトの場合において整形表示はクラス名を表示した後フィールドを表示するという形になる。これは簡潔な方法だが、実際にやってみると簡潔に実装することが大変難しく、繰り返し似たコードを書くはめになる。")"}このユースケースに限ると実行時リフレクションを用いて実装することができるが、リフレクションは往々にして型消去のために不正確すぎるか、オーバーヘッドのために遅すぎることが多い。型クラステクニックのような型レベルプログラミングに基づいたジェネリックプログラミングという方法もあるが、やはりこれも手書きの型クラスのインスタンスに比べると性能が劣化するのが現状だ。マクロを用いることで、型クラスのインスタンスを手書きで定義する必要を無くし、性能を落とさずにボイラプレートを一切無くすことができる。マクロを一度だけ定義する。型クラスのインスタンスを生成する。検索のインフラに自然と溶け込むことだ。マクロから使うことができる。整形表示可能な要素を持つリストのためのマクロを使わない整形表示を実装して、それをマクロベースの具現化に統合させるといったことも可能だ。先に定義した具現化マクロによって生成される。シームレスに統合することができる。トレイトを定義していた。変換を行うが、話を簡略化するためにここではタプルを用いる)。書こうとしたが、壁にあたってしまった。(ドメインに特化した知識なので仕方がない)。推論してしまい、全てが崩れてしまう。示すとおり、上記の問題の解法は非常にシンプルでエレガントなものだ。おいてはマクロの適用は全ての型引数が推論されるまでは展開されない。