move these type definitions to perhaps-more-appropriate modules