Returns the identity object for a monoid.
Returns the identity object for a monoid.
(monoid) =>
isNew(monoid) ? monoid[flEmpty]()
: isCtorNew(monoid) ? monoid.constructor[flEmpty]()
: isOld(monoid) ? warn(monoid.empty())
: isCtorOld(monoid) ? warn(monoid.constructor.empty())
: /*otherwise*/ unsupported(monoid)