Assessing Causal Reasoning in Language Models