It felt really wrong for Snow to kill David. Before tonight, I couldn’t have imagined her ever doing that. Things must have gotten pretty dire in those eight months we didn’t see, for her to even consider something like this.
Also, if she was willing to kill her husband to (get a chance to) rescue her unborn child, doesn’t that mean she loved her unborn child more than her husband? I’m not advocating baby-murder here, but I’m surprised that crushing David’s heart (which didn’t even permanently kill him) even worked. They needn’t have brought in Zelena to mess with this curse. I’d believed it if it had malfunctioned on its own!