type T(a) = Unit + a * T(a) * T(a)