Employ many of Adam Chlipala's simplifications