{"action":"closed","issue":{"url":"https://api.github.com/repos/liamoc/wizards/issues/3","repository_url":"https://api.github.com/repos/liamoc/wizards","labels_url":"https://api.github.com/repos/liamoc/wizards/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/liamoc/wizards/issues/3/comments","events_url":"https://api.github.com/repos/liamoc/wizards/issues/3/events","html_url":"https://github.com/liamoc/wizards/issues/3","id":17380237,"number":3,"title":"Inverse `defaultTo` arguments","user":{"login":"nikita-volkov","id":1560937,"avatar_url":"https://avatars.githubusercontent.com/u/1560937?v=3","gravatar_id":"","url":"https://api.github.com/users/nikita-volkov","html_url":"https://github.com/nikita-volkov","followers_url":"https://api.github.com/users/nikita-volkov/followers","following_url":"https://api.github.com/users/nikita-volkov/following{/other_user}","gists_url":"https://api.github.com/users/nikita-volkov/gists{/gist_id}","starred_url":"https://api.github.com/users/nikita-volkov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikita-volkov/subscriptions","organizations_url":"https://api.github.com/users/nikita-volkov/orgs","repos_url":"https://api.github.com/users/nikita-volkov/repos","events_url":"https://api.github.com/users/nikita-volkov/events{/privacy}","received_events_url":"https://api.github.com/users/nikita-volkov/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2013-07-30T07:06:08Z","updated_at":"2016-04-28T15:26:51Z","closed_at":"2016-04-28T15:26:51Z","body":"I really don't see any motivation to make `defaultTo` usable as operator. Besides violating the Haskell conventions it even importunately stands out as an exception case to all other multi-argument functions of your library, e.g. `inRange`, `retryMsg`.\r\n\r\nIn other words, why\r\n```\r\nclassWizard = retry \r\n            $ inRange (1,5) \r\n            $ parseRead \r\n            $ nonEmpty (line \"Class[1]: \") `defaultTo` \"1\"\r\n```\r\ninstead of the obvious\r\n```\r\nclassWizard = retry \r\n            $ inRange (1,5) \r\n            $ parseRead \r\n            $ defaultTo \"1\"\r\n            $ nonEmpty \r\n            $ line \"Class[1]: \"\r\n```\r\n?"}}