Make type signatures simpler and more consistent