Done with haskellfastandhard