Source: https://web.cse.msstate.edu/~hansen/classes/3813spring05/slides/06KleeneTheorem.pdf