42179fed71
This should reduce the issue described in T100431. This is also cleaner and without arbitrary argument limit.