LearnSoftware engineeringSoftware architectureFinite state machine fsmFSM By Example in FP Overview Beginner Intermediate Advanced Last updated May 16, 2026