• @[email protected]
    link
    fedilink
    210 months ago

    Not quite, because the Maybe enum is neither int nor null, but it’s own, third thing. So before you can do any operations with the return value, you need to handle both cases that could occur

    • @Feathercrown
      link
      English
      510 months ago

      Isn’t that also true with compile-time type checking though? Eg. 0 + x where x is int|null would be detected? I don’t have much experience here so I could be wrong but I can’t think of a case where they’re not equivalent

      • @[email protected]
        link
        fedilink
        410 months ago

        Most languages that let you do ambiguous return types don’t do compile-time type checking, and vice versa. But if it’s actually implemented that way, then it’s logically equivalent, you’re right. Still, I prefer having things explicit

        • @Feathercrown
          link
          English
          110 months ago

          Yeah it’s nice to be able to see it