Separate declarations and definitions. Also allows us to get rid of the 'ForwardDecl' wart.