Mush is a lightweight Type-based, order-resolving, dependency injection framework