Cleaned up style (hlint and -Wall), added solutions for problems 21-23