It fiddles with the flow representation. It would be nice to avoid introducing artificial constructors