heptagon depends on camlp4