public function sameBaseType()
    {
        $operandsCount = count($this);
        if ($operandsCount > 0 && !$this->containsNull()) {

            // take the first value of the collection as a referer.
            $refValue = $this[0];
            $refType = RuntimeUtils::inferBaseType($refValue);

            for ($i = 1; $i < $operandsCount; $i++) {
                $value = $this[$i];
                $testType = RuntimeUtils::inferBaseType($value);

                if ($testType !== $refType) {
                    return false;
                }
            }

            // In any other case, return true.
            return true;
        } else {
            return false;
        }
    }