e2’s primary focus is to make OTP easier to use – not to change it.
e2 modules are relatively light weight wrappers around standard OTP modules.
Wherever possible, e2 will make sensible decisions for the user and provide the ability to override those decisions.
There are a number of design patterns lurking in OTP (e.g. services and tasks). e2 should make these patterns obvious and easy to use.
e2 should not attempt to rename standard nomenclature in Erlang/OTP. e2 names should contribute to an improved understanding of OTP, not detract from it.
e2 should never get big. “Big” is arbitrary, but you probably know it when you see it.
Another way of putting it: e2 should only contain things that are really, really useful and would be painful to create in user space.