The biggest problem of all is that derivers are not unique! A separate "build trace" map will solve this.