algebraic types talk