programming lanuage concepts in F#