Contratos de objeto e classe (por exemplo, class/c
, object/c
, etc.) são atualmente todos contratos de imitador. Embora as versões de acompanhante delas possam ser oferecidas eventualmente. Por outro lado, não é possível fazer contratos parametéricos em contratos de acompanhante.
Contratos recursivos construídos com Contrato recursivo Também padrão para contratos de imitador, mas pode ser configurado para ser qualquer tipo.