Refactored combinators into separate traits (by type/context), which compose into the package object.