Made some compile progress, having issues with covarient templates.