Enum - type mismatch: problem present with ast but not with ast2
I think there is a problem due to the operation of different enums. This can be seen with the following header: [common.h](https://bitbucket.org/odedevs/ode/src/master/include/ode/common.h).
If I run:
```
$ toast -pnsk -G__=_ common.h
/tmp/toast_1589219520.nim(87, 38) Error: type mismatch: got <dMotionDynamics, dSpaceAxis>
but expected one of: 
proc `*`(x`gensym3450051: dMotionDynamics; y`gensym3450052: cint): dMotionDynamics
  first type mismatch at position: 2
  required type for y`gensym3450052: cint
  but expression '4'i32' is of type: dSpaceAxis
proc `*`(x`gensym3450055, y`gensym3450056: dMotionDynamics): dMotionDynamics
  first type mismatch at position: 2
  required type for y`gensym3450056: dMotionDynamics
  but expression '4'i32' is of type: dSpaceAxis
proc `*`(x`gensym3450057: dMotionDynamics; y`gensym3450058: int): dMotionDynamics
  first type mismatch at position: 2
  required type for y`gensym3450058: int
  but expression '4'i32' is of type: dSpaceAxis
75 other mismatching symbols have been suppressed; compile with --showAllMismatches:on to see them

expression: 0'i32 * 4'i32
/tmp/toast_1589219520.nim(88, 24) Error: type mismatch: got <dDynamicsAxis, dSpaceAxis>
```
This is solved with ast2:
```
$ toast -pnsk -G__=_ common.h -f:ast2
```
If you are already aware don't hesitate to close the issue.