fp-why: composition