# Cyclic type definition for T¶

This error occurs when one or more type definitions form a cycle.

Note that recursive types, *i.e.* types defined in terms of
themselves, are very much allowed (and useful)! A
“cyclic type” error only occurs when a type is defined as being
directly equal to itself.

For example:

```
Disco> :{
Disco| type A = B
Disco| type B = C
Disco| type C = A
Disco| :}
Error: cyclic type definition for A.
```