'Return a unit object composed of only irreducible units.
Parameters
bases : sequence of UnitBase, optional
The bases to decompose into.  When not provided,
decomposes down to any irreducible units.  When provided,
the decomposed result will only contain the given units.
This will raises a `UnitsError` if it\'s not possible
to do so.
Returns
unit : CompositeUnit object
New object containing only irreducible unit objects.'

def decompose(self, bases=set()):

    raise NotImplementedError()
