add a test case to illustrate why we have to make compile time dependencies transitive as compile, not runtime as we'd like.