Type conversion

If you have the same representation for types in both modules, you can share a common type in the implementation, but hide it in the interface. Conversion becomes free then.