Funny how the addition of a forward declaration resulted in accidentally disabling move semantics for two types. We ought to be careful that build time improvements don't have runtime performance impacts.