<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Really happy to see this proposal. It will cut build times for packages that use my library significantly.<div class=""><br class=""></div><div class="">The only point I would bring up is about using a `Bool` for `isPrivate`. This obviously only gives us 2 levels of access control. Something like this would give more flexibility:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">enum AccessControl {</div><div class=""> case .public</div><div class=""> case .private</div><div class="">}</div><div class=""><br class=""></div><div class="">Target(name: "SampleCLI", dependencies: ["FooCore"], access: .private)</div></blockquote><div class=""><br class=""></div><div class="">Packages could possibly want more fine grained control over the access control. e.g, Package Foo wants only packages that <i class="">directly</i> depend on Foo to receive a module, but not packages that depend on a package Bar that depends on Foo. This would be much easier to add as an additional case to the `enum AccessControl` but impossible to add for `isPrivate: Bool`</div><div class=""><br class=""></div><div class="">Thanks Ankit for the great proposal!</div><div class="">Tanner</div></body></html>