If there’s one thing that continues to amaze me about Doctor Who, or more specifically its fans, it’s all the wildly different reactions — most of them valid — to any given episode. I make no claim to offer up definitive interpretations or reactions in my recaps, and likewise it’s frequently baffling when someone insists that a particular episode is awful or without redeeming qualities. Doctor Who often plays its points of view broadly enough that it inevitably leads to differing readings. Pick the greatest and most hailed episode of the series — “Blink,” for instance — and somewhere out there is somebody who’ll explain to you how it’s indulgent, poorly written garbage riddled with conundrums, and they might actually have a point. This is a big reason why Doctor Who is great TV: It means something different to every person who watches it, and no two people see it the same way.
With those qualifiers out of the way, “In the Forest of the Night” is the first episode of the season that, for me, doesn’t work within the thematic framework of the ongoing story line. Yet looking at it objectively, say as a stand-alone story not related to the bigger seasonal arc, it feels cruel to pick on it or pull it apart. It’s like tearing into Sendak’s Where the Wild Things Are for not playing to the adults in the house. This season, which has been so fraught with interpersonal conflict, has been a pretty specific thing, and all of a sudden for this one episode it feels like something that it wasn’t before (and judging by the preview for next week, doesn’t look like it will be again). It’s jarring at this particular juncture, coming right before the finale in which all hell (or perhaps heaven) is about to break loose. It’s too cute, too syrupy sweet — like this season’s been a charging locomotive and here it suddenly runs into a wall of Jet-Puffed marshmallow creme.
Frank Cottrell-Boyce is a successful and lauded writer of screenplays, novels, and children’s books. His résumé outshines any other writer this season, and surely his participation was a real coup for the production team. But the episode feels like Moffat has allowed this celebrated talent to run free and loose, doing whatever he cares to with the show, since the show is lucky to have him. Moffat has done this before, most notably with Richard Curtis and Neil Gaiman, though in those cases the experiment worked. Here, Cottrell-Boyce has written a children’s story that very much plays by storybook-type rules, in a season that’s been more mature than so many that came before it.
Who stories featuring kids are in theory not my bag, yet in practice the show has proven me full of it more times than I can recall by delivering well-rounded young characters I grew to appreciate or even love in the span of 45 minutes. While love might be pushing it, Maebh (Abigail Eames) was easy enough to appreciate (the other kids, less so), and yet her story line, and how it related to the trees, left too many dangling questions. It seemed there was some sort of statement about autism going on, and perhaps the overmedicating of afflicted children, but that got buried with the missing sister, who seemed to be at the root of all of Maebh’s emotional issues. The sister’s reappearance in the episode’s final moments made little sense and carried no emotional impact. She heard Maebh’s voice on the worldwide phone call and came home, is that right? What was up with all the floating fairies? They were part of the trees? There seemed to possibly be some purposefully dangling threads involving Maebh going to look for the Doctor (“Miss” told her to do so … Missy?), but that’s unknowable until next week.
The obligatory news montage, indicating that the incident was global, felt lazy, and the PSA asking everyone to stay in their homes was a cheap way for the episode to avoid having mass panic in the tree-laden streets, which is what would happen if this were a real thing. It was absurd having the heroes trek through a seemingly deserted London for the duration of the story (reminiscent of the similarly improbably deserted New York City of “The Angels Take Manhattan”). So much of it just didn’t gel, which makes me feel old and unimaginative.
The trees alone are a narrative nightmare, never more so than when Cottrell-Boyce introduces the very real incidents of the Tunguska blast of 1908 and the Curuçá River event of 1930 as precursors to these events, both of which would be considered minor in comparison to what went down here. Problem is, such as in the case of Tunguska, the trees didn’t magically disappear after it happened. They were flattened out across more than 2,000 square kilometers. In the case of Curuçá, fires blazed for months afterward. Though the script deems this magical, flame-retardant foliage, the trees magically disappearing moments after this attack on the Earth by the sun was just too much to swallow, even more so than them sprouting up overnight in the first place.
Even if we did buy into all of that, what of the sheer amount of destruction the trees would have caused to the architecture of civilization? There’d be far more to fix than just the fallen Lord Nelson statue and the cages at the zoo. The Earth could not possibly go back to normal the next day. There would be years, if not decades of recovery involved. And no, it hasn’t escaped my attention that just a few weeks ago I gave a glowing review and a big ol’ free pass to the scientifically impossible events of “Kill the Moon.” That worked for me. This didn’t. There are plenty of people that couldn’t hang with “Kill the Moon” who’ll give this one the free pass, because that’s how Doctor Who rolls.
None of this is to say there isn’t some great stuff in this episode, and it certainly can’t be accused of lacking vision and imagination. Danny finding out about Clara’s lying finally came to head; however, it was all played surprisingly low key and without much resolution. Pink’s go-with-the-flow attitude was the most shocking aspect of all. If Doctor Who is to spend a season exploring adult issues, its resolution must be something that satisfactorily reflects or answers those ideas. Presumably this episode didn’t go for the jugular because it wouldn’t have matched the tone of the rest of the tale, wolves and tigers notwithstanding. Speaking of, the moment in which Maebh had a pair of glowing eyes on either side of her gave me genuine chills, and I was moved to welled-up eyes by the scene between the Doctor and Clara outside the TARDIS, when she made him leave the apparently doomed planet, but not before he reflected her words from “Kill the Moon”: “This is my world, too. I walk your earth. I breathe your air.” Above all else, the environmental message was a welcome one (it’d be fine if Doctor Who creatively editorialized more often), if for no other reason than this planet still hasn’t gotten the “let’s not kill the trees” message, so it really can’t be expressed often enough.
Finally, the frequently arresting visuals can no doubt be attributed in large part to first-time Who director Sheree Folkson (The Decoy Bride). The bulk of my negative feelings about this episode are rooted firmly in the script, not the direction, which is mostly dazzling given the material. Of particular note is the opening scene with the Doctor taking Maebh around the console room — all shown from her diminutive point of view. I don’t think we’ve ever seen the TARDIS shot anything like that, and it induced some queasiness. Really any day a key creative position on this show is filled by a woman is a good day, as it doesn’t happen often enough. Some excellent stories have been directed by women (“Blink” and “Midnight,” to name but two), and that trend will hopefully continue over the next two weeks as Rachel Talalay (Tank Girl) takes the directorial reins for the upcoming two-part finale.
Odds and Ends
At this point, even Michelle Gomez looked bored with her end of the episode cameo, impatiently waiting for next weekend.
The title of the episode is taken from a line in the William Blake poem “The Tyger.”
Speaking of praise for directors, I dropped the ball last week and failed to give big kudos to director Douglas Mackinnon, who helmed three great episodes over the course of this season: “Listen,” “Time Heist,” and “Flatline.” He’s been with the show since season four, steadily honing his craft and turning into one of the show’s most assured and steady directors.
Jenna Coleman, alongside Matthew Goode and Matthew Rhys, stars in Death Comes to Pemberley, a sort of murder-mystery sequel to Jane Austen’s Pride and Prejudice. The two-parter begins tonight, Sunday the 26, on PBS and concludes next weekend.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(3),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),(auth.isSubscriber()||auth.isMobileAppRequest())&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]