Done. Workable solution.

But will spend some time to simplify the core logic (maybe using when
instead of if, and less (false) returns).
Satisfied with try-to-solve fn.

Some improvements might be considered for chainable? fn.
Smaller name renaming.