also take optionalDependencies, and expose merge
2.1.0