Gold Challenge - was my build supposed to fail?

I added this failable initializer in my Monster class, but no errors appeared when I built it pointing to my Zombie subclass, which the challenge suggests I’d need to adjust:

 // gold challenge
    // failable initializer
    init?(town: Town?, monsterName: String?) {
        guard monsterName != nil else {
            return nil
        } = town = monsterName ?? "\(String(describing: town?.numberOfStoplights)) Spotlights Monster"

Is there something wrong with my failable initializer?

You should have gotten an error in Zombie’s designated initializer because the super.init call generates an optional but Zombie’s initializer doesn’t return an optional. I’m not sure why you didn’t see that error.

Also, your code here doesn’t do what the challenge is asking, it still allows monsterName to be set to an empty String ("").

(Sorry I didn’t see this last September, I was traveling at the time. I’m just now getting around to that chapter.)