public function castFloat() { $castFunction = function ($value) { return (double) $value; }; if (is_numeric($this->value)) { return $castFunction($this->value); } return $this->handleMismatch($castFunction, 'double'); }