more WIP: Add bidirectional type mapping