Got rid of cast in flatten, and added comments about flatten, flattenTrav,
flatMapTrav method ideas.