Working parser for fun (recursive lambda).
Please check the algorithm w case completely, with that from the book