TODO: [🤡] Use some better functional library instead of `TakeChain`