"generate" implies return value and not changing state.