言語によってモジュール(module)プロトコル(protocol)ロール(roles)といった形態もあり、それぞれ微妙な機能の違いがある。