Type-erased extractor method, returning a value corresponding to the pattern and levels. The caller is responsible for ensuring that value corresponds to the number of levels, i.e. A String for 0 levels, a Seq[String] for 1 level, a Seq[Seq[String]] for 2 levels, etc. The caller is also responsible for ensuring that Out corresponds to the pattern, wrapped in Seq as many times as levels.
Type-erased extractor method, returning a value corresponding to the pattern and levels. The caller is responsible for ensuring that value corresponds to the number of levels, i.e. A String for 0 levels, a Seq[String] for 1 level, a Seq[Seq[String]] for 2 levels, etc. The caller is also responsible for ensuring that Out corresponds to the pattern, wrapped in Seq as many times as levels.