fantomas
fantomas copied to clipboard
FSharp source code formatter
Fantomas exposes an API to generate source code from an existing AST. There are some rules and gotchas to this API, and this should be documented.
Currently, the default setting of FsDoc generates API documentation. We should be a bit more selective about which modules/namespaces make sense to have. - Fantomas.FCS: only expose the Parser API...
I propose we add a CLI flag for explicit path to a configuration file (`.editorconfig`) The existing way of Fantomas deals with this problem is ... rearrange files ## Pros...
I propose we add `fsharp_max_if_then_short_width`. Style guide update TBD Slack conversation with @nojaf: > @dsyme: I'm wondering if there should be two settings `fsharp_max_if_then_short_width` and `fsharp_max_if_then_else_short_width`. We kind of want...
Issue created from [fantomas-online](https://fsprojects.github.io/fantomas-tools/#/fantomas/preview?data=N4KABGBEDGD2AmBTSAuKAXAngB0WAQgIYBOAFAJRgC8AOsTQHYQQC2iLARosWOgBYBLAM4A6AGaxYYAO4D%2BYAOaJ0YCtTAMArgBttYQg3hghy1QDdC2zYhSwOAK0pVV5Oo2Zg3DbacLZsLmBoRDzOIRReXn7YFOKSYAA8ALRgwAA%2BXh4AGuoALACsmcwAmtRFHhAA9JVgcCxsDOjlFQDsAJzN1WAAXr3dzQBa6gBMAMwADF5pAL6QADTgUCbo6AIMCkKoYADaixCgFVAAJFi4W5Br6PN7zJBHFlbIaLuHEOMLr1AAkoaIjQDKAm6yA%2Br1yNwgAF0btNQfsIcdTk8oJdroc7g9rFsXq8AIxwiqQACyhAAHgAZNaIcl-BT8NF44bjBHQjywm4HQknHDIyAcSTaBkeDGWLHPBEQYYE4X-dgCODaWAMACC6AAooYAPJiSkMEESsBiSwmFkwgmc4Xcs5oPkCoW3e6i5E4w6jaW3f7YQjQRD4RASYiIAAKJEIbHQ3HtHnQxGsprZ5oRdyR535sEF7pFj2xBty7ogkE93t9-tggfJsGk3GghBMPzMsBrqyVUeYMbjh1ZzHZHgtDpTNrTGaTjuz4s%2B%2BXzUCLPr9AcQAFV-NXa4h643CM2GK2IEbtCbO2aOSOB1Ah62s2KdgaAGxTwte2elwMAYW0taEL6VQnb0HQZZ3Q1jUQeNu0TdErV5c9M1HK8XVae8ZxLeciXYLhiEAvcDwqLsIB7Zg%2BwLSDUztGDMWdA0AA5EMfZCy0QL9FW3KcsJAw8E2PCDT1tdML1gijPjaGji2VMQI2IL96kIQD2zYnCj17E8eRI3iyKdHNPlxd4DQfYs53o2UWHldMWxY4DQLw8CuW46CR3IjS8XxHSkNE8TDOMpiZNjOSPFwsB8PhLjlMHUi7PU8dGXvH4kEaTUGAAFWITAAHU5D4TDzPYsDOOs4Kz1CiD7Iiw5cTdZzaOVYhYE0QwABFEG0AQjPEryO3kjjFKC60UUaPiiuvTS8x0klSS%2BMR4r4P41X3RB-j4Mt0FS%2BB6SnXJmSyyycstbjUTUscBrxSdhrJH4xAEUlNVwYhNzLNVSWwQMhCEARTINfJ1va7LOty7qLl6va4INXE72O0kACVEDgYh4CWlbcw%2B3yFIIpTft2sL9vgjxcRae8RohqH4AAOU0ThuG1L4IxYTYp1xCz-Ks7a8sgFgdFWRq9QAMTLFhN3E%2BLlIBgS8WonT8bLeAiVZgR2cQLniB5lZI3vaA%2BFDP9uAAfVkZb0rpgLUhR3k0cK8KDpKoTQcq67ME1YhKR-WH0tWhHmD8-XCMRJnja5frMeYJlcbJK3CBtu3hHQYnSeIcnKepoG9YZ-smZZ7Q2apOWFb5gX0cBz5hicz5IGD0P7fQSXU%2Bl9Pud5pWdJVtXxK1gQdcgBOtqT1H-pzoXDmGKVQYANSdfA1ngNYFEdwDKJdqEkcCn6ja7k2MYNMZA9JDmar-F6GBHwxx8n522%2B%2BxnO6uQWHN7obC5G2rYHQABxZQ7oexAnp3w%2B3pnsA3cToibIKj7U2ftJRHRvlLGW%2BBFTQAANb4GurA5QQg4r-DDAxdMJNmIGlYsfZGXUoKAMtL7VeINC6E0QNISBygqx-H5rgeqZ0GByB3sqQwqEo5x0%2BDgja9N27-yZrZZeudXjDBxjpAA0ogRA2AxoTT%2BD8VBbBdT6i4ZlT6m0T4d0Xufbul8KjDBFjfMk00jJCD4J-T4a1cHz1PgQ1Sujir6ItoXQE6wfCVQUCTP4i1EAcCJAgFRrxuHqN4Zo-hv1BFAJXp8CY95lSNQUAwTeDBt5KkBIkzcmhAzxVgNFbxm4d4ZRmtYg2%2BCVLDiET3CoowC6vCLqnbgDAClmGpEqBQ7D0IMLWMw78RTsKIw6nghe5S%2BrAINKMfu4CK7KPJGGDg8BCBvlgM9dY5DKFUj6T5V2c9SnDJCvYypeiPCjDKoXWqwhCAcB8CY4QfB-iYEaGSTZJSPbJiZn8eA2plH-CwD4UZ0TXijGvnUjUnydQbPvNoMQrceHu0NiMi%2BjjjlgLqZI6ReTGg-HgQYFWzzYV-09hEwhDpiExNIXUqBBgYHKKEJVaqhhyE-kQBLCBVIX6PWer0qcskXnwv2RUqJwjXRiMLiEfSgZzlCGgMQJqaxNzMoXEwpU9VoDvmuluPFIS4VlP5f8oV1TDF1J%2BTKv8-ikCaoGd2RYkJQQXCEBzZ6WwcHTCAA) #### Code ```fsharp type Bar() = member this.foo with get () = null and set (value:obj) = () let app () : Bar = Bar() app().foo
Issue created from [fantomas-online](https://fsprojects.github.io/fantomas-tools/#/fantomas/preview?data=N4KABGBEDGD2AmBTSAuKA7AhgW0QZwAdNpEwAxWWAHQCcr1b6AXATwNIA0wBeR9CCHiaYmAS2hhc2AEaIaYAIJ4AQogDmo9AFF08MGjjYCAV2FjY6FAAoA5AppqwAWgB8ivC3TQAPDYAqLgCUzm58AuERkVHRAgD0sWB%2BABakNqoa6DaSiDJyYTEFhRG29o4AVGAAyixCOQB0Sp7QAMKYADZt0sQA1mAVsNIAViFVNUz1AJKNXgBK%2BMZtTMEV%2BUVrMfGJKWA2OvBZUrJ0dPzrZ5FW1bXYdVMes-OLI-7LYKvnH5vJqa1eiG0HHJHd4fM6XMaTabQOZ4BZMEbGdCiJaQAA04CgeEQTDE6DUeFQYAA2hiIKBIpAACSsdiEyCaJho0kCKkAN3axmQaBJ0QADOjopAJrpEOgmJVRAAvZACqIAFmZEAAusyAL6ysmKqDUthcqAMpkUynstqcwk8qIARg1EUgAFlMAAPAAymkQztFaiYSUNVoATLytSrwurmeTbTraWhIKL4AB5ABmrvQiEqrDaMq1bI5eotkT9NvCkD2ieTmcFbQTkCDapt4aLkb1kGklDavobJrN3K1EAAzIWWcKsTQmGRNO0AHKIADubTd7YiTBonJrIbrWcbdJbsDbA%2BzptzPbAcoHEEglRy4h3FgUTBLSfnp7ACfaWNXAlD4XrLM30e3u43TtD2iABWJ9zyIEhVATWAaEQAAFTAaBwbE5AXcIlxXSJgw-dcjRpJt-3Q7UgPNI8ADZwMqSDEGg2D3Vgac5GgTAsWFVlYBY8x0GIiBMMQd8IE-ARvzPX8oCIvdjRzMjogAdiomi6LggBVAh2BoFi2PQDiuNECxeOfV8BOw2sww3Ait1bYj9y7YkjwADkU4haMQGC4OaNpWLwZoLCEZdoCYWDDJfNo31MtdzPw3UrJ3GzpIPWSogATmcqC3Pou0gTQp9QvCiIcKEvCI0sv9rKk0ju2iS1%2BSPCCXOUxBfLaAzcuMwSwGEzVoqjCTysAmSqqta06uolyFATcYaF87BsEwQz%2BI6rqwFE7VSr6uKKsG%2BzqoLUalIyuCL2wK8Wp4tqwpMgqzK-CyYrKzaBsSobIktft9vGya5GO07WqPRaItwqKSvujaAKNSqdqtE86uFJAxTjdA-BoFgAHVkR9C78vCQrOuKht1ubfqIe2vMIktMCPpIexYEReAABF-lEE6poW5crpxm6RLu3r6TFeLIbJ8JLUouqHUdCYE2%2BbRLsqJJYKYdH4G9Qy5UDQGiuBgnQb5xktueqHXoUsWnWFBNREdOMNJEWCtEdAg4LwPB9POo8QPV67ItunqmwNfW7KFgRLSck3HTmOAaHgJWVafNWlvxn9Cb9p6A6PS1UtD8PYPgCdjFyGhEwmcZsAJJ9LXjrXE517A4VEOcUwoGg5pxOQ-Bi-3gKiANwKzyO7Vr%2BvEEb5vWfA6AkiQ4gpoAfWnURlZ9CvvZB3nk5Jg3A4gP0RsFcX7GQlg4xoV0hGjzGjzjjW8crsSk-5jukvzPbd6dffMEP4-RCEXP88L4vS7TkvbmPs6Q10WHXN0w8RBTTbrSB%2BL0Ih%2BneoKN%2BH8T5MH7uAweUCW40EMjACeyFApyFnvPFWQDuor19vfFOnd8wwxfo6AAajmZQmh4CaDUGfQyDkPacy9sAqhdI14RkFkeP0lNGFkERIFF2bDdCcO4bHPhAhcbLVWlSO%2BetaGP0QaLRh9NYBMAAOLYjtg7fAzsLBKLdio5UXNKHa15pJHRCDwh%2BmNrvAebplAtWgN0ZQRDujYjwIjSoKFmp51dtEPKHNVEOJWjzQixNRGk3ESHQUU5Zw%2BOxExUUsDECM3NkibiChdBZXzgAmJ7Ur7qKSbFcGqSN7iIzoKAA0ogRABBJbS2FOE3AZYQo1M9kDZeTjqHaPXqnaIvZaqMK0G0E6eAkg2OiJfEZmsxlV2cSkjsaSZk7yiOeThGZSh51FIrRA0g7QIHLFEWJFDEkgIeo0vZzSZnPyOQoOcah0DSK8NxCUvyRDGDgn4WAcMLkiBdkMy6jyNHiSJo9KZdCIi9mQV8xYcgsBiFZAxPEFSjhFM0MiF2VT7nDP4aMwR4yGkC32VEXsDCjmYLEGWZ0OBpDwEwJ5WAzs8RZMHrC7G8SBGOO2ck5FTTpmMskUc%2BmX9MDSAzAspZSRqhiidMKuJ9ixVPKES8%2Bl7zGX6KOR0rpkKxTCkCZgLw59qlwtqQnW%2BOsXEot0eEXsnijm%2BNtd0MseAaZ0ynLUeArKIEpnMY7Kx6ByWRABhs6%2BWyXU7KlW8mVkRewZJ9UhRqCq8DQBoMzcc4x4AqSRBYRm0AvLIW4tq%2BF9TDXwMNmi1pRy0xFsCjcpA9bakYiVLKekeAyDO0JItVUQA) #### Code ```fsharp namespace Foo type X = static member AsBeginEnd : computation:('Arg -> Async System.IAsyncResult) * // The 'End' member (System.IAsyncResult -> 'T) * //...
Issue created from [fantomas-online](https://fsprojects.github.io/fantomas-tools/#/fantomas/preview?data=N4KABGBEDGD2AmBTSAuKBbBBXANosAKogM4AuAOgE7kB2VtepYA5ojYpQIamIBCAljXiDmYABQBKMAF56NCBH4AzMKUpZ8pABZs5C-WAD0hsAFUADvG6adYAGKJ0pWGHSJSnKx70GIkuT4QxmAA8tocAO78xIgANGDwLjSw2iJykLHgUDGkpCLEqGAA2lkQoL6QACSkAJ7myGiQgqQZpQpVAG6cOBqFJb4QAAyZA1AAkkJspADK-ABeyCMDACxtEAC6bQC%2BS2VrUNV1DVDNrRWVXT3H-QMAjLsGkACynAAeADKCiO9szNpndwATIN9pt9Ds2uVHod6oVIGx4CElJ92NNangAfpOt1emgbr5AQ8sQBRIRIlGLfYQSA4JSQUHbB5QrEw46QABGsFgOEx7QuOOuVLAAGYie0JjFKKQ7IJugA5RARHBfXn6NQaBngpn7Kq1WGNTnc1UHS644pC5Zi6nTcycaB8RBKWCURAABU4XDcPEoxog6sQmoUEP0zL5erZhp5YuxVz6QoArFaoDa7Q6nS73rAIhxoJwYhMOrBc3lYDRfap1AHfGCg9rzuG4ZHjTGzfiDAA2JOQFP23iO52ICz1Si5-M0QvF-il8tKboxQMQYMKUPU1mNrlRnX82N4oUAdi7PbTA4Awjg88QT6WyOpoM4fUnZzh59XGZCtw2DRvm9vW0KAByHravb9i6TyOOyHAznOVYGDWi51tCn5QE20a-oKowAJxAamfbpogV44NOj4wQuYBLns9ZHOuRpoaaGF3MMQrdsBiAAIJKN6V7oOgnDlv6ZEUWAK4HMhHLfnRApxqMtz3MxR54QO0yOPwcBEWWJHPrB%2BjweRiEsmJqFbvR0lAjh9ocd6ynoKp3LEUKAmvlq75UfqKEScZUm7jJoryaxbGULAWBCAAIogyo2d6-GVoJ%2BlhtRjSnJJO7mjJlrMS8rxjEoBA6DQxJadMWjOqQADq-DwP8SbLCCTm1i5SEJScNAtMlf4yYmGVvBMSj8K8ITDtwzrEq85gusQxBThpCa1XBb4hh%2BTVNC1P4md5dydl1rwAEqIHAlDwOVlVaOWNWxQ1BlLUlnkpW2%2Bi3AeW27ft8Bylg6CQZQSJjDw6AFEmtznQtrlsuguB5Mq7B2M6vG5BwBDUW1DG%2BLcgHMc9zrwE84P8JDiDQ5QsNRV20BaB6dregA%2BlEx30nVCEXfFbnLa1N3tXc2FbQFXA1CElCfGQR1VRas06fNy6Lcz13nGtqUDMCXaZdznC8-z0SkG9H0cN9v3-UKgP03pjOrmJYM4BDXwE0T8OI2zyMGICcmjJAyuqwLpDY%2BbuOWzD3DE8xpPk3eHDUxV-xAxLINwtL0Ky3dCiAoSW0AGoCgIQgiELJ1Jv%2BosKLpQkibqV0rUjpkEr5zuZXYwV3lN6fCDQzBZ6decbOLlGNVLpd2%2BXDvpVXbwhSkADi7gjWNJCTaWLdJvGbdgAXcUm0tRky15csEp1Vc43jvBEdAADWvBcEf7jECENDTJwbiEe902jE%2BL5zc5wNdxGHnr7dQqAptzsKkqL4fZSDZjYAjeoYVeo0H4CWGgbEhDgS1pQPWj9SKG0LpLD%2BtFe7rQJI9Z2bFlTMBoDXGgddSyzGIdwLALoCCwAmEgFq3AprQS0hHTul1mZr1jhveOEBARowIebDgNBmEdG%2BKWZgiDPqQMEDAqaKCBhP20vnDuwlME0U3F-dmBJOY7y9hSd4N92RWDPLASaTcAF41Yc-MWr9I7v00atXhQphRMWdhPDg-A3BMJwAAaUQIgcwDCpgTBPpwMh2chTKPYeoqOX5sHaPtvoYUTsBiQH3hEw%2BFJiABSCkIBUZBEBY13l8Ce41p40EUb4RyL96pv04VgrRPDv6jGFEnZ2vAPSKRdCFaI0BKDeNlDweAphoGljCtAc8XBYE2JUe3exHCmZNOca0gYwpK7pM8YMnxHgcBokClgG8WBzBohqBiTStjVGLLiY4xKPckl9xSQPdJASgmZU1p9JEmSaDZK%2BNUgwtxBgLyXsbUSq9P4tJ0QYYU290kHNUh7BAlJUFsPQVkdYSwmjEDsJNQoMSthAA) #### Code ```fsharp module Test let generateBinding () = if true then // Update the Femto metadata () // Otherwise, do nothing ``` #### Result ```fsharp...
Issue created from [fantomas-online](https://fsprojects.github.io/fantomas-tools/#/fantomas/preview?data=N4KABGBEDGD2AmBTSAuKAbRAXMAzMAHmAJ5hoCWAdjgLQB8YVOAvGADoBOblEEuArjwD6YeoTABqEp268yjaqIZNIAGnBQAztixUA5ptRgA2hoig5ESABIsxAA7I0kFestRrANwCG6fk5MzSwAGN3coAElKJGoAZXIAL2Qw9wAWIIgAXSCAXxSwC0sbO0cjF2o1DI8fPwDTcLAARny5SABZbwIAGSpELsRKPSwAC0qGxoAmYKrsuTygwtbbBwDIAfgAeVweykRYu0wxoq9ffyN68ImW3kgAUWitneSqq3RcSBnc-MWb5dLnABGsFg6COSxqZzQF3cAGZrlYotoOFgAGJUXwAOUQAHd0L0wZYsBx-J85t8qsUVmUgSCCVYTrVzi8wKl4VBYvZvNBEAAhRC4WAcRAABW8HG8AFtsIgOHTeESSe5Zrx5nIfvSSqsaaDrjYIXVmQBWNmQDlc3n8wV9WDYmXQbzaKKeWD23SwShyiAKxCklXk9yU-5QbVyvWnA0NABsJrN3L5AqFAFV7I4OPbHZRna7yO7PXhfNpfRBVbx1R5NdTgTqKQzIYEGgB2GOcuOWoUAYXQDs07fdmgV0CwgrzuALPqVXwWNYrgKrodrEfCAA5m%2Bb41a2ogJQCZSOx0WwCXzNOqbPabqF0yGgBOVethOIXvoXNs0foQsTslTgN-LVzi-6le4SNKEzKmi2iAAIK4FgMq9hKEreHm3oHkeBQnkGkAhgB4ZAe4jTNGBsYWg%2BsRbuQcDPh6r77p%2BfrfscM7Bv%2BNaAVCzKTHeUEwTKZEShRIIvsyKF0cW-qMaezHnqxuHseMcJERBkEcLAgjwAAIogeL8bBspsiJljKmJDFLEx5RYPObH1sBrJgR0BARLgAAqwwDLc757MMgpYAA6uQ8AjHmqTTKJh7iaZknmZZsnWfhxp2Z0US4OQBAbKm3hDhwtwEPYQqaJoObUUaIWGZOaoYasrgyYycnAdGCUEAASogcAcPAfkBaMbLBah4W-GZVU-lZ0KWI0TYNc1rXwBi-DbjKWwRLBEqGGyjS9SZ-WRRK-DoLoeK7CigqIVgulOVSOE1bFo0rmBk2CvAbQ7XtvSHRwx26XmMDDGKXK6UI2L%2BYF63lT%2BA0VBddYjXIjS3g1ynisQGwcD0-YdYF3UlXIRlhRtGqRYNxzDcyUwmvZ8PeIjyPkP2M1zRwC1LStHHA6WFVlNtu3kPtiCve9MpnaUEOLu4EyEQ0kDk5TKNYI9nPc7zGUfSa0DfeKg4yv9gOjCzx6g-j4PVZDxNXA1ABq4Y8lQ8D6GjXXMkumO8NjaFloGlUG0NMVQ7wEwKeL9kooIg6FZb0Q21rQWO1kZWs3rmEE%2BCXvE7Z-udOpsBYAA4tg2W5Yg%2BWFbbeaGlHYDO31eOYdhhvC5YEzxf7T1c70PLPtAADWPJq%2B32CaBslCxJKj4grNRUNG%2BH6lV%2BIMSVXLGe5d3sQBM9Xi1iuIt9gtoDALiCacllDkG6lCQdEm500z4%2B0VP9EzxFc-SQvRsNBM43i5BeJ6JQgeUMH7rxF-DK-AhROVgFEGIWAMqFT3B5HW6E45-kfoTJOL8brv12jKSgUDPDWkGOfHcHB95UCPoVS%2B4QJ7jhvsZO%2Bm0H7VifrXOQExYaN05k8LokoATwG8J2WABVBjr25jAyeWMY661nog%2BhyDF7MhhKBcWucZTkClNQXwABpRAiB7DgIGFgKIXdvC-ztlfWBoUXZszPFIxOMiGgwjFuESArdDHtyeJoZSqlohYn7IgB6Tdua5zygVPsyFiSUNEdPWOEjKxIOsc-cIMITbix5GKdcQp1LU2gBwZR6JYLwETIfd0mloBdnFMfYRYSnZiPgVEyx0UbHxL9g4xRWSVGQPQPsFS-B%2BzEnsPsYghwaKmKoTjGhld3YWSFnhSwMIU4OI0Vo%2BytMCFbCcZQFxvQyH4WCKXcuuNyyRWrgwqZcgYQNwcR0iiMsEDPBMSIypcwNCZDCC4TQKICpGAoSAHIQA) #### Code ```fsharp let f x y : int -> int = fun _ -> x + y : int -> int ``` #### Result ```fsharp...
This sample came up in formatting a file in the F# compiler. We can workaround it Issue created from [fantomas-online](https://fsprojects.github.io/fantomas-tools/#/fantomas/preview?data=N4KABGBEDGD2AmBTSAuKB6dYAqALAlgM5gBmArgHbQAu%2BsFYATonAOYVGLHW5eJgAdSPgol8ADzCwADokYBDarEZCwFeQFsuAOgEqKAG0TUwASUIBZeRVZH4p0RIDyshUsZgN124ngQAvGAAFABUYADuvMye3nZgRGDyhIRkWn5KYABG-PJgcBrS%2BHHqWmAhAJSC%2BhAQRibyJNRyAMoA1vjSzdTyjNTENWDSzGLiXGCBAIKMCgCe2ojiRH2JjS3tnd29hADq%2BDyDwxJcegIMNcQAPAB8MTZxAGT3VacDQcSBQij%2BqgA%2BPwMAwFA4GAzBgADCTgAMk4AHIAfQAogBFACqEyhzROZxqDSajDaHS6PWWzAMijo6gMYD%2BIJBYJR6MxABozLCAGKmAAa8MhFgAChMAEqI%2BFOfmsqGI5rNVkAcRFE2wiKF2IB70EkAAJL9-nT9QaamCACLQqHCtUDPFrImbZZwKiKGl6w1AsGmDnc%2BFK%2BEACR94st53GmpCISElVdUeB7s9POa2GF8ITScD%2BkgzPAUEIxloNkIqDAAG0sxBQIDtdQZrJC8IKNQM6WatqAG7yAxkZBoEvAgAMmeBkAcSHrzXwAC9kAOgQAWJsQAC6TYAvtOy-OoFqqzW0HWG2vm1q2x2u8WNxAAIwHgaQKziKEiRBQxA2HiN4EXgBMvY3S4Gq6bcsAUratT0gF94CcEgHwoRAuhmIx32Ao9207QseyBT9r2bREKEg6DHyQisDBISBfxXA8gJvLdQNrTJYFgAwiMPY80O7c8wAAZmwiAhwoHNenZER21hRBwgMQieLAahGE7cj-0ojcQJ3KB6MY5jeJQk90I4mcpMgZppHkaBEAAIUQEhlEQfkek0Yw5A0moZLkwE-xqACBiow9tzAtSmOw1tUNPDDAQAVn0wzjLMiyrKhWBwjkaAkkQBwW1gJLaHoRyIGcxB5PcxSKxolTID8xzAu09jgQANgioyTPMyzmFRaRXCSnNUvSiksqkkh2xzfKIA8movM0ny6IY-ylK0tiz2BAB2OqosaqzwXJZJwXoQhnJoZRstIfq8tcijAOm8bdzKgKZuCjiAA4loamLmAsRANGyRh9r6gwBuOhTTqK87VMm8rrp04EAE4HuiprEE2gweo4r6foBNyhsK5DAdK4GrtYm6P37DiDPqxAJlWRhNo0Lx9tywawGG9cAdoi7sem3GwaBC8r0JyLHph5pXvwOB4YoT7Dtp%2BmwFGzdMcu1mgvZwEvyh0n8X5jRBcYhHgRp36Cv%2BjGmaB9ScflqqOe47niamWBKHgY1EAk9X8Wp2SjpRk7PLOw29xBtmzcVvTCbvUwSDwF9EW%2BuDcGUahdngN8pJnH9dbR-XqMxkR9zlyq5o58Kg-kcQHBGFw5EUZREXEIYuEISl9tC5P3b%2Bz3GZKzPfdN3PFdqgvxCFFhlHgOOE90xuBlRun0fT7325NnOQoBC9Ft7-u4EYeBYVSd6oNMJoNALKSL3FqfvO9jQyAMWgJNg9llC8ah8WwWi59mheBgve7CdXweLAvq-H1vowe%2Bzt9LQFwLZGgch4ThHwPHXAZEU6TzTqfNu9YO7zw4heSGvcpizCcIwB821h7wMTmPGoE8JZS2UmBWe2dX4cW-PpO8uD5AzHwYQ6gm83pyB3nvA%2BmDj7ILGmfP%2BRQAF30UI-Z%2BdC8aYS5oOFhbCCFLF-pfMRN8JEPwcqA8BChIGMGgbAt8giW4G1QVnIqfsu4Ak-FhXuAA1IKpkRDwBEKwYh%2B1bpkMXB7EaXtzHoPocCT8FtBx3nZJQGglJnF4TcR40hJi-GtxoWgl%2BsjASfkDmEwuxpYDUDlMYSu1dkiUniRxBuiSGZmN8izSxnc341E-PnMJojr5mXhtAVopk9GtGMIQJwFBmh2ThqkEWvUxaIMof4mpxsZEKxsT3QcolxKPnMtQBKL4n6yHtmIDgmUKATDwi9bhjB%2BHAiRm7ceviqnTxKrLOpGDgnLwURJdgESqD7LHOwRQZBmDYFgMOF83R9mi0jpUyW0yJqzIeUEzCn8Xn4nULQFsT56CsGOe9HZIg9iUjOUCC54KqHFRmVNGF6SbHYJaWomCT5NCZHgPINasBa42GWW00FyMrnNySdUqFpLkJWIaRATiBNBxFLkPgLQ9Z2wAGlECIGkIC%2BsDhunWDARyy55DrkQuSXywJ5KBicXkUCSAplyQUFaDSwg1tbaiW2r4VR-9YJFOYCUraLsXJNz1qY25JL9XzMNXYwcpkegrWYMaIg0BGCSuEk0eAqIOD0HttAckbg67jLBZMk%2Bwi7m1IFfUjinFQkmvFdGqV3QDBdEYDbbaskNgISnIjCZXrU4%2BpQSkix%2BbHlAk4lkk1cqFV3i4dvEgZrrCWsfHixWvZvFgAodm6W3t7ldthYCTizSTVVsFtQCwCBG3nObVy9yWYFzTmEIQdktdCwEuXEAA) #### Code ```fsharp // This function recognises these "infix operator"...
I love the `ExperimentalStroustrupStyle` setting in records, but I hate it in computation expressions. Computation expressions are so crucial part of F# that it should be very clear what goes...