DecodeError:
    | { error: functional.DecodeError; property: string; type: "property" }
    | { error: functional.DecodeError; index: number; type: "index" }
    | { errors: functional.DecodeError[]; type: "oneOf" }
    | {
        expectedType?: functional.ExpectedType;
        receivedType: functional.ReceivedType;
        receivedValue?: unknown;
        type: "failure";
    }
    | { message: string; type: "custom" }