public static function m($cx, $a, $b) {
        if (is_array($b)) {
            if ($a === null) {
                return $b;
            } else if (is_array($a)) {
                return array_merge($a, $b);
            } else if ($cx['flags']['method'] || $cx['flags']['prop']) {
                if (!is_object($a)) {
                    $a = new StringObject($a);
                }
                foreach ($b as $i => $v) {
                    $a->$i = $v;
                }
            }
        }
        return $a;
    }