@mhvk - so what's actually the answer to @mdboom's question?  Does ``.decompose()`` *not* work on functional units?  I think I'm against the "common" parts of the API diverging here...