Q:

Create new environment on top of another

I'm trying to create a new environment on top of tcblisting (from tcolorbox package) using environ package.  Getting weird error about Runaway argument.  The MWE:
\documentclass{book}
\usepackage{tcolorbox}
\usepackage{environ}

\tcbuselibrary{listings}

\NewEnviron{CodeListing}[2][]{%
  \begin{tcblisting}{listing only}
    \BODY
  \end{tcblisting}
}

\begin{document}
\begin{CodeListing}
  bool someVar;
\end{CodeListing}
\end{document}

The error is 
Runaway argument? 
!  File ended while scanning use of \next. 
<inserted text> 
                \par 
<*> mwe.tex

If I remove the tcblisting environment in the new environment, Everything is fine.  What is going wrong here ? 

A:

Why the combination of tcblisting and environ does not work, was explained in the comments.  But it is possible to create a new environment using \newtcblisting:
\documentclass{book}
\usepackage{tcolorbox}

\tcbuselibrary{listings}

\newtcblisting{CodeListing}[2][]{listing only}

\begin{document}
\begin{CodeListing}{something for the mandatory argument}
  bool someVar;
\end{CodeListing}
\end{document}

