{"action":"created","issue":{"url":"https://api.github.com/repos/gcanti/fp-ts/issues/138","repository_url":"https://api.github.com/repos/gcanti/fp-ts","labels_url":"https://api.github.com/repos/gcanti/fp-ts/issues/138/labels{/name}","comments_url":"https://api.github.com/repos/gcanti/fp-ts/issues/138/comments","events_url":"https://api.github.com/repos/gcanti/fp-ts/issues/138/events","html_url":"https://github.com/gcanti/fp-ts/issues/138","id":238014900,"number":138,"title":"Compile errors when using TypeScript next","user":{"login":"OliverJAsh","id":921609,"avatar_url":"https://avatars1.githubusercontent.com/u/921609?v=3","gravatar_id":"","url":"https://api.github.com/users/OliverJAsh","html_url":"https://github.com/OliverJAsh","followers_url":"https://api.github.com/users/OliverJAsh/followers","following_url":"https://api.github.com/users/OliverJAsh/following{/other_user}","gists_url":"https://api.github.com/users/OliverJAsh/gists{/gist_id}","starred_url":"https://api.github.com/users/OliverJAsh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OliverJAsh/subscriptions","organizations_url":"https://api.github.com/users/OliverJAsh/orgs","repos_url":"https://api.github.com/users/OliverJAsh/repos","events_url":"https://api.github.com/users/OliverJAsh/events{/privacy}","received_events_url":"https://api.github.com/users/OliverJAsh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2017-06-23T01:14:56Z","updated_at":"2017-06-29T18:40:30Z","closed_at":null,"body":"I just tried using the latest fp-ts (currently 0.3.4) with `typescript@next` (currently 2.5.0-dev.20170622), and I got this error, among others. Do you have any ideas what could be wrong here? Is TypeScript catching a genuine bug?\r\n\r\n```\r\nnode_modules/fp-ts/lib/Option.d.ts(20,22): error TS2420: Class 'None<A>' incorrectly implements interface 'FantasyTraversable<\"Option\", A>'.\r\n  Types of property 'traverse' are incompatible.\r\n    Type '<F extends \"Task\" | \"Option\" | \"Either\" | \"io-ts/Type\">(applicative: Applicative<F>) => <B, U = a...' is not assignable to type '<F extends \"Task\" | \"Option\" | \"Either\" | \"io-ts/Type\">(applicative: Applicative<F>) => <B, UF = ...'.\r\n      Type '<B, U = any, V = any>(f: (a: A) => HKT<B, U, V>[F]) => HKT<Option<B>, U, V>[F]' is not assignable to type '<B, UF = any, UT = any, VF = any, VT = any>(f: (a: A) => HKT<B, UF, VF>[F]) => HKT<Option<B>, UF,...'.\r\n        Type 'HKT<Option<{}>, any, any>[F]' is not assignable to type 'HKT<Option<B>, UF, VF>[F]'.\r\n          Type 'Task<Option<{}>> | None<Option<{}>> | Some<Option<{}>> | Left<any, Option<{}>> | Right<any, Optio...' is not assignable to type 'HKT<Option<B>, UF, VF>[F]'.\r\n            Type 'Task<Option<{}>>' is not assignable to type 'HKT<Option<B>, UF, VF>[F]'.\r\n              Type 'Task<Option<{}>>' is not assignable to type 'Task<Option<B>> | None<Option<B>> | Some<Option<B>> | Left<UF, Option<B>> | Right<UF, Option<B>> ...'.\r\n                Type 'Task<Option<{}>>' is not assignable to type 'Task<Option<B>>'.\r\n                  Type 'HKT<Option<{}>, any, any>[F]' is not assignable to type 'Task<Option<B>> | None<Option<B>> | Some<Option<B>> | Left<UF, Option<B>> | Right<UF, Option<B>> ...'.\r\n                    Type 'Task<Option<{}>> | None<Option<{}>> | Some<Option<{}>> | Left<any, Option<{}>> | Right<any, Optio...' is not assignable to type 'Task<Option<B>> | None<Option<B>> | Some<Option<B>> | Left<UF, Option<B>> | Right<UF, Option<B>> ...'.\r\n                      Type 'Task<Option<{}>>' is not assignable to type 'Task<Option<B>> | None<Option<B>> | Some<Option<B>> | Left<UF, Option<B>> | Right<UF, Option<B>> ...'.\r\n                        Type 'Task<Option<{}>>' is not assignable to type 'Task<Option<B>>'.\r\n                          Type 'Option<{}>' is not assignable to type 'Option<B>'.\r\n                            Type 'None<{}>' is not assignable to type 'Option<B>'.\r\n                              Type 'None<{}>' is not assignable to type 'None<B>'.\r\n                                Type '{}' is not assignable to type 'B'.\r\n                                  Type 'HKT<Option<{}>, any, any>[F]' is not assignable to type 'Type<Option<B>>'.\r\n                                    Type 'Task<Option<{}>> | None<Option<{}>> | Some<Option<{}>> | Left<any, Option<{}>> | Right<any, Optio...' is not assignable to type 'Type<Option<B>>'.\r\n                                      Type 'Task<Option<{}>>' is not assignable to type 'Type<Option<B>>'.\r\n                                        Property 'name' is missing in type 'Task<Option<{}>>'.\r\n```"},"comment":{"url":"https://api.github.com/repos/gcanti/fp-ts/issues/comments/312061338","html_url":"https://github.com/gcanti/fp-ts/issues/138#issuecomment-312061338","issue_url":"https://api.github.com/repos/gcanti/fp-ts/issues/138","id":312061338,"user":{"login":"DylanRJohnston","id":5708800,"avatar_url":"https://avatars1.githubusercontent.com/u/5708800?v=3","gravatar_id":"","url":"https://api.github.com/users/DylanRJohnston","html_url":"https://github.com/DylanRJohnston","followers_url":"https://api.github.com/users/DylanRJohnston/followers","following_url":"https://api.github.com/users/DylanRJohnston/following{/other_user}","gists_url":"https://api.github.com/users/DylanRJohnston/gists{/gist_id}","starred_url":"https://api.github.com/users/DylanRJohnston/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DylanRJohnston/subscriptions","organizations_url":"https://api.github.com/users/DylanRJohnston/orgs","repos_url":"https://api.github.com/users/DylanRJohnston/repos","events_url":"https://api.github.com/users/DylanRJohnston/events{/privacy}","received_events_url":"https://api.github.com/users/DylanRJohnston/received_events","type":"User","site_admin":false},"created_at":"2017-06-29T18:40:30Z","updated_at":"2017-06-29T18:40:30Z","body":"> then switch to PureScript (...😄)\r\nIf only I could convince my product manager"}}
{"actor":{"display_login":"DylanRJohnston"}}