Option

Typesafe nulls

public func get<T>(x : ?T, default : T) : T

public func getMapped<A, B>(
  x : ?A,
  f : A -> B,
  default : B
) : B

public func map<A, B>(x : ?A, f : A -> B) : ?B

public func forEach<A>(x : ?A, f : A -> ())

public func apply<A, B>(x : ?A, f : ?(A -> B)) : ?B

public func chain<A, B>(x : ?A, f : A -> ?B) : ?B

public func flatten<A>(x : ??A) : ?A

public func some<A>(x : A) : ?A

public func isSome(x : ?Any) : Bool

public func isNull(x : ?Any) : Bool

public func equal<A>(
  x : ?A,
  y : ?A,
  eq : (A, A) -> Bool
) : Bool

public func assertSome(x : ?Any)

public func assertNull(x : ?Any)

public func unwrap<T>(x : ?T) : T