Rewrote to improve the reading (one step before writer monad)
Format for a better understanding of what's going on
Build a simple list when possible
Remove useless boxing/unboxing (left identity)
Remove useless intermediary function
Use [] for empty string
Remove useless blank character
Keep only the essence of what we do
Add missing rights - beware that it's not portable
Update tests accordingly
Fix typo
Move commands with others
Extract log functions
Regroup function with same perimeter and add comments
Add function doc string
Format log strings construction
Remove useless $
Update doc string
Fix typo
Remove blank