-record(flow, { model :: starflow@model:model(), prompt :: fun((any()) -> list(starflow@state:content())), parser :: fun((starflow@state:state(any()), starflow@state:response()) -> starflow@state:state(any())) }).