Text this: Reasoning about effects: from lists to cyber-physical agents