To make the soup, heat oil in a large heavy pot over medium high heat. Add the onion and cook with a pinch of salt until translucent, about 6-8 minutes. Add the cilantro and garlic, and cook for 3 minutes more. Add the coriander and cayenne and saute for 30 seconds. Add the squash and cook, stirring occasionally for another minute. Cover with the water and coconut milk, then season with salt and sugar to taste. Bring the soup to a boil, then reduce the heat to a simmer. Let it cook uncovered, stirring occasionally, for about 20-25 minutes, or until the squash is very tender. Use an immersion blender to puree the soup until totally smooth.