An Option is an enum in the Haxe Standard Library which is defined like so:
enum Option<T> { Some(v:T); None; }
It can be used in various situations, such as communicating whether or not a method had a valid return and if so, what value is returned:
import haxe.ds.Option; class Main { static public function main() { var result = trySomething(); switch (result) { case None: trace("Got None"); case Some(s): trace("Got a value: " + s); } } static function trySomething():Option<String> { if (Math.random() > 0.5) { return None; } else { return Some("Success"); } } }