public function parseIntelligent($value) {
    $functions = [
      "parseNumeric",
      "parseBoolean",
      "parseString"
    ];

    foreach ($functions as $function) {
      try {
        return call_user_func([$this, $function], $value);
      } catch (ParseException $e) {
        // empty on purpose
      }
    }

    $exportValue = var_export($value, true);
    throw new ParseException("'$exportValue' could not be parsed by any parser");
  }