constructor(
        public readonly condition: IExpression<T>,
        public readonly ifBody: IExpression<T>,
        public readonly elseBody: IExpression<T>
    ) {}