write an Infernal model. We aim for version 1.0.2 of Infernal but right now, there is no explicit version management! We just return header information as we read it. So we are compatible to all versions that can be parsed but have no safeguards in place.
NOTE: exported model can apparently be calibrated.
TODO make sure that (Export.toString . Import.fromString == id); the other way around is not absolutely necessary (except if the Infernal parser should require this at some point)
TODO put functions like stringS into another module?
Documentation
toString :: CM n s -> StringSource
Main export function for CMs. Creates a string that is accepted by Infernal
stateToString :: CM n s -> State s -> StringSource
export a specific states, used by nodeToString