This reduces readability and causes problems with js interop.
Example:
let fromString: string => option<int> = str => {
let? Some(num) = str->Float.fromString
num === %raw("num | 0") && Float.isFinite(num) ? Obj.magic(num) : None
}
generates:
function fromString(str) {
let x = Stdlib_Float.fromString(str);
if (x !== undefined && !(x === (num | 0) && isFinite(x))) {
return;
} else {
return x;
}
}