Explanation of the Use of Letters `A` and `I` in Effect Typescript Library

Where do letters A and I come from? Why are they used as names for type-arguments of decoded and encoded types, as well as the letter A used as the Effect's success channel?

For example, in the piece of code here:

Schema.optionalWith(schema: Schema<A, I, R>, { default: () => A })


In the code of Sink, there are also L, In, Out
Effect Documentation
Learn advanced techniques for defining and extending data schemas, including recursive and mutually recursive types, optional fields, branded types, and schema transformations.
Was this page helpful?