optional

inline fun <T : Any> optional(): Optional<T>
inline fun <T : Any> optional(value: T?): Optional<T>
inline fun <T : Any> optional(block: () -> T?): Optional<T>
inline fun optional(value: Int): OptionalInt
inline fun optional(value: Long): OptionalLong
inline fun optional(value: Double): OptionalDouble