edit lecture: need infix, infixl, infixr