(See again RFC PR #10. I'm strongly in favor of properly enforcing abstraction boundaries by default, unlike GHC.)