working on Environment specs
Environment: rework process()

- improve efficiency
- give errors for the dependency that failed instead of the top-level target