TypeScript functional programming and fp-ts: what's actually worth it