Add `compose`