a function-oriented language with effect inference