local M = {} ---@class Ok { value: T, error: nil, is_err: false } ---@class Err { value: nil, error: T, is_err: true } ---@class Result ---| Ok ---| Err ---Return ok result ---@generic T ---@param value T ---@return Ok M.ok = function(value) return { value = value, error = nil, is_err = false, } end ---Return error result ---@generic T ---@param error T ---@return Err M.err = function(error) return { value = nil, error = error, is_err = true, } end return M