"In computer science, we are always trying to find the balance between expressiveness and tractability."