{"action":"created","issue":{"url":"https://api.github.com/repos/SodiumFRP/sodium/issues/92","repository_url":"https://api.github.com/repos/SodiumFRP/sodium","labels_url":"https://api.github.com/repos/SodiumFRP/sodium/issues/92/labels{/name}","comments_url":"https://api.github.com/repos/SodiumFRP/sodium/issues/92/comments","events_url":"https://api.github.com/repos/SodiumFRP/sodium/issues/92/events","html_url":"https://github.com/SodiumFRP/sodium/issues/92","id":140924950,"number":92,"title":"C#: Maybe should be a value type?","user":{"login":"Ziriax","id":2389359,"avatar_url":"https://avatars.githubusercontent.com/u/2389359?v=3","gravatar_id":"","url":"https://api.github.com/users/Ziriax","html_url":"https://github.com/Ziriax","followers_url":"https://api.github.com/users/Ziriax/followers","following_url":"https://api.github.com/users/Ziriax/following{/other_user}","gists_url":"https://api.github.com/users/Ziriax/gists{/gist_id}","starred_url":"https://api.github.com/users/Ziriax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ziriax/subscriptions","organizations_url":"https://api.github.com/users/Ziriax/orgs","repos_url":"https://api.github.com/users/Ziriax/repos","events_url":"https://api.github.com/users/Ziriax/events{/privacy}","received_events_url":"https://api.github.com/users/Ziriax/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-15T09:54:34Z","updated_at":"2016-03-15T10:56:08Z","closed_at":null,"body":"C# has value types, that can never be `null`. Shouldn't the C# version make use of that feature to implement the `Maybe` type? Because right now, `IMaybe` can again be null. Making this a struct eliminates this class of bugs. I know that structs are rather slow in C#, but that should not be relevant here I guess.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/SodiumFRP/sodium/issues/comments/196764674","html_url":"https://github.com/SodiumFRP/sodium/issues/92#issuecomment-196764674","issue_url":"https://api.github.com/repos/SodiumFRP/sodium/issues/92","id":196764674,"user":{"login":"iCodeIT","id":2152555,"avatar_url":"https://avatars.githubusercontent.com/u/2152555?v=3","gravatar_id":"","url":"https://api.github.com/users/iCodeIT","html_url":"https://github.com/iCodeIT","followers_url":"https://api.github.com/users/iCodeIT/followers","following_url":"https://api.github.com/users/iCodeIT/following{/other_user}","gists_url":"https://api.github.com/users/iCodeIT/gists{/gist_id}","starred_url":"https://api.github.com/users/iCodeIT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iCodeIT/subscriptions","organizations_url":"https://api.github.com/users/iCodeIT/orgs","repos_url":"https://api.github.com/users/iCodeIT/repos","events_url":"https://api.github.com/users/iCodeIT/events{/privacy}","received_events_url":"https://api.github.com/users/iCodeIT/received_events","type":"User","site_admin":false},"created_at":"2016-03-15T10:56:08Z","updated_at":"2016-03-15T10:56:08Z","body":"Structs are not slow in C# if they are not too big and if it solves a problem without introducing new ones, then I would say go for it ;-)\r\n"}}