newenviron both provide an alternative to the standard environment macros included with LaTeX. The main difference is that they make it possible to refer to the environment body using a macro, but another difference is that macro expansion is affected.
Both packages suffer from problems when nesting environments that actually refer to the environment body, but
newenviron mitigates this by defining a separate macro for each environment type, thus reducing the isseue to nested environments that are of the same type. Is there no way to eliminate this hygiene problem completely?