Controlversial opinion: Tabs for code alignment, spaces after a space etc. are semantic mark-up that shouldn’t be flattened to spaces. They should be handled by the drawing code (like paragraph spacing in a word processing app), not encoded by the human.