Maybe we don't need to pass in `statement_list` any more?