Мне любопытно, почему аргументы основного конструктора должны иметь отступ за открывающей скобкой в определении типа, но при вызове могут иметь отступ с именем типа.
type AnIncrediblyLaboriouslyEternallyLongTypeName(arg1, arg2,
arg3, arg4) = //WARNING: Possible incorrect indentation
class end
let x = AnIncrediblyLaboriouslyEternallyLongTypeName(
1, 2, 3, 4) //works
Решение состоит в том, чтобы отступить аргументы за левый край вашего второго монитора:
type AnIncrediblyLaboriouslyEternallyLongTypeName(arg1, arg2,
arg3, arg4) =
class end
Мне интересно, почему правила различаются в этих двух сценариях.
Это относится и к методам. Я просто выбрал первичные конструкторы в качестве примера.