injection: Use type directly instead of stringifying it in binding identity.
executor: Don't make Tasks return an error. There will be another mechanism for this.
dependency_analyzer: First version of automatic reordering. This breaks a number of things, but it roughly works.