More work on mapping types