2 ms·
> real ADT's I always thought these examples were real ADT's: ``` type Bool = true | false; type Maybe<T> = T | null; type SumTypeExample = Bool | Maybe<Bo
by brabel 6y ago
> real ADT's
I always thought these examples were real ADT's:
```
type Bool = true | false;
type Maybe<T> = T | null;
type SumTypeExample = Bool | Maybe<Bool>
interface ProductType1 {
b: Bool
c: Maybe<Bool>
}
interface ProductType2 {
s: "a" | "b" | "c"
}
interface ProductTypeComposite extends ProductType1, ProductType2 {}
```
Can you explain what's the difference?