Rustは複数の構造体をトレイトの型にキャストすればダックタイピングもどきはできるものの、関数テンプレートのような機能が無いらしいので、正式なダックタイピングではない。 しかしRustには強力なマクロ機能がある。 マクロなら「構造体なら何でも来い」的な関数もどきを作れるのではないか、と思ってやってみた。 コードの見た目もそれっぽいし、動きもそれっぽい。 実際はただ展開されているだけだけども。