A lot of changes suggested by hlint