Experimenting with type definition ideas.