Fixes #933 by move `compose` to top level