Added notes and comments.
Moved match-propn-components into letfn.