package niri type Option[T any] = *T func OptionOf[T any](v T) Option[T] { return &v } func OptionEmpty[T any]() Option[T] { return nil } func mapOption[T any, R any](o Option[T], mapper func(T) R) Option[R] { if o == nil { return nil } return OptionOf(mapper(*o)) }