"compose" is pretty generic.  What are we actually doing here?