public function map(callable $f) { return $this->has_value ? Option::some($f($this->value)) : Option::none(); }