Shared types (wip)